WordPress добавление в метаданные пост тайпа

135
02 апреля 2021, 19:50

Только осваиваю WordPress, есть кастомный пост тайп.

function setup_custom_post_type() {
    $args = array(
        'thumbnail',
        'public'    => true,
        'label'     => __( 'Listing', 'textdomain' ),
        'menu_icon' => 'dashicons-format-aside',
        'rewrite' => array('slug' => 'listing'),
    );
}
add_action( 'init', 'setup_custom_post_type' );

Хочу добавить поле в метаданные поста, в котором будет время добавления, но моя функция не работает.

function save_custom_post_tye(){
    add_post_meta( get_the_ID(), 'date_cr', date("Y-m-d H:i:s") );
}
add_action( 'wp_insert_post', 'save_custom_post_tye', 10, 3);

Что нужно поменять/добавить?

Answer 1

Функция get_the_ID() работает только в главном цикле WordPress. Вам нужно использовать аргументы, которые передаются в хук.

/**
 * Save custom post meta at creation.
 *
 * @param int     $post_id Post ID.
 * @param WP_Post $post    Post object.
 * @param bool    $update  Whether this is an existing post being updated or not.
 */
function save_custom_post_type( $post_id, $post, $update ) {
    add_post_meta( $post_id, 'date_cr', date( 'Y-m-d H:i:s' ) );
}
add_action( 'wp_insert_post', 'save_custom_post_type', 10, 3 );
READ ALSO
Не работает комментирование кода в PHP

Не работает комментирование кода в PHP

Запустил vagrant up в проекте yii2, закомментированный код отображается мне во view, второй день бьюсь с этой проблемой, не могу понять в чём дело?

128
Область действия сервисов

Область действия сервисов

Не могу понять правильную область действия сервисов в web приложенииВот у нас есть сервис, логично, как мне кажется, предположить, что его можно...

169
Почему функция unlink() не видит файл?

Почему функция unlink() не видит файл?

Хочу удалить файл из папки так как папок и файлов много я подставляю их имена через переменную unlink('files/$loc/cards/$namephp');, но функция unlink не видит...

146
Netty-сервер не принимает пакеты от Netty-клиента

Netty-сервер не принимает пакеты от Netty-клиента

Такая проблема - имеется сервер, работающий с Netty (используется порт 7755), и принимающий данные в формате JSON (используется Netty >= 41 и JsonObjectDecoder),...

167