Intereting Posts
Исключить текущий пользовательский пост в одном сообщении Как я могу показывать последние сообщения из той же таксономии, что и просматриваемая публикация? Настройка PubSubHubbub (PUSH) с помощью WordPress Когда столбец «post_content_filtered» в базе данных очищается WordPress? Запуск WP Cron на многоузловом правильном пути Срок действия фильтра по родительскому сроку – пользовательский тип сообщения Nav walker, bootstrap: отображает предметы третьего уровня под 2-м уровнем flush_rewrite_rules ломает постоянные ссылки Пользовательский тип сообщения против страницы пользователя удалить базовую категорию продукта, но перенаправить на страницу с той же постоянной ссылкой menu_order не работает со слизнями, которые начинаются с admin.php заставить текущего пользователя не работать Как я могу сделать первую страницу для отображения страницы пользовательской таксономии? Hook / notify, когда добавляется или обновляется любой параметр или настройка Создание пользовательских запросов AJAX

Получать пользовательские поля из настраиваемого типа сообщений с помощью короткого кода

Я создал собственный тип сообщения: «продукты». В этом типе сообщений есть шесть настраиваемых полей, информация которых автоматически импортируется из WP All Import.

Я хотел бы получить информацию из этих 6 настраиваемых полей, используя короткий код. В идеале можно было бы получить информацию, используя пул сообщения, поэтому («код» – это пуля):

[product code="12345678"] 

Вышеизложенное должно искать «продукт» с slug 12345678, а затем выводить информацию из этих шести настраиваемых полей.

Как мне подойти к этому?

Получите значение атрибута в shortcode и получите значения настраиваемого поля:

 function product_func($atts) { $post_id = $atts['code']; $key = "my_custom_field_key";//for 1 field, you can do this 6 times for the 6 values $custom_value = get_post_meta($post_id, $key, true); return $custom_value; } add_shortcode('product', 'product_func'); 

если вы хотите отлаживать значения метаполя сообщения, используйте этот код:

 function product_func($atts) { $post_id = $atts['code']; //lets check if we are getting the att echo "<h1>THE ATT, SHOULD MATCH THE CODE YOU SEND</h1></br>"; echo "<pre>"; var_dump($post_id); echo "</pre>"; //lets check if we are getting the att echo "</br><h1>WE MAKE SURE THE POST IS NOT NULL, MEANING IT SHOULD EXIST</h1></br>"; $post = get_post( $post_id ); echo "<pre>"; var_dump($post); echo "</pre>"; //lets check the meta values for the post echo "</br><h1>WE LIST ALL META VALUES TO CHECK THE KEY NAME OF THE CUSTOM FIELD WE WANT TO GET</h1></br>"; $meta = get_post_meta( $post_id ); echo "<pre>"; var_dump($meta); echo "</pre>"; $key = "my_custom_field_key";//for 1 field, you can do this 6 times for the 6 values $custom_value = get_post_meta($post_id, $key, true); return $custom_value; } add_shortcode('product', 'product_func'); 

он показывает каждое значение, необходимое для получения «настраиваемого поля», должно выглядеть следующим образом:

введите описание изображения здесь

поэтому в моем случае ключ был бы:

 $key = "MY CUSTOM FIELD";