Получить мета-термин в версии WordPress <4.4 - PullRequest
0 голосов
/ 05 сентября 2018

Я написал несколько сценариев для добавления настраиваемого поля изображения в зарегистрированную таксономию.

Проблема сейчас в том, что я пытаюсь получить термин метаданные, кстати, поскольку функция add_term_meta введена из версии 4.4 WordPress, я не могу использовать эту функцию.

Сейчас я использую WordPress версии 4.2 для веб-сайта, потому что там есть множество пользовательских плагинов и скриптов.

Какую функцию я должен использовать, чтобы получить термин метаданные в версии 4.2?

** РЕДАКТИРОВАТЬ **

add_action( 'created_hr50_amenity', 'save_hr50_amenity_image', 10, 2 );

function save_hr50_amenity_image ( $term_id, $tt_id ) {
   if( isset( $_POST['hr50_amenity-image-id'] ) && '' !== $_POST['hr50_amenity-image-id'] ){
     $image = $_POST['hr50_amenity-image-id'];

     // ** add_term_meta ** WHAT CAN I USE INSTEAD OF THIS FUNCTION? **
     add_term_meta( $term_id, 'hr50_amenity-image-id', $image, true );

     // var_dump(get_term_meta( $term_id, 'hr50_amenity-image-id'));
   }
}

1 Ответ

0 голосов
/ 05 сентября 2018

Разве вы не можете просто скопировать add_term_meta, назвать его как compat_add_term_meta и использовать его с 4.2 WP?

У вас есть вся функция здесь: https://developer.wordpress.org/reference/functions/add_term_meta/

Вы можете использовать условное выражение:

if ( version_compare( $GLOBALS['wp_version'], '4.2', '<=' ) ) {
    compat_add_term_meta();
} else {
    add_term_meta();
}

Так что это работает в обоих случаях.

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

Также не уверен на 100%, но посмотрите, как выглядит схема базы данных. Также возможно, что некоторые таблицы отсутствуют (термин meta), поэтому их также следует создать (это можно сделать с помощью $wpdb class tho).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...