Intereting Posts
Использовать wp_redirect без фильтра в файле плагина Получить сообщение мета через XML-RPC с помощью wp.getPost Безопасно ли / рекомендуется использовать функцию wp_enqueue_script вне файла functions.php? Возможности пользовательских таксономий Как включить класс «current-menu-ancestor» в меню пользовательского типа сообщений в WordPress? Запланированное событие не запускается в полночь Почему WP разрешает просмотр и элемент мультимедиа в качестве страницы Почему `if else` не работает? Позволяя пользователю определить аргументы в пользовательском цикле? (часть запроса $ custom_posts-> (…) ") Как переопределить всю тематическую разбивку по страницам на сайте? Кэш-папка WordPress с W3-Total-Cache не показывает новые сообщения Создать (настраиваемый) тип сообщения, доступный только по пользовательскому запросу Как узнать, какие плагины используются в моей многопользовательской установке? Добавить категории и сообщения в иерархию страниц Добавление настраиваемого поля для публикации объекта из пользовательской таблицы

Показать все теги

Я пытаюсь показать теги _all на экране редактирования в настраиваемом типе сообщений (продукты). Адаптация этих инструкций

Я создал простой плагин следующим образом:

add_action( 'wp_ajax_get-tagcloud', 'ajax_tag_cloud_wpse_99497', 1 ); function ajax_tag_cloud_wpse_99497(){ $tags = get_terms( $taxonomy, array( 'number' => 999, 'orderby' => 'count', 'order' => 'DESC', 'taxonomy' => 'Sizes', ) ); } 

который не работает. В пользовательском типе сообщений я все еще вижу только последние / самые популярные 45 тегов. Я здесь что-то не так? Я полностью в тупике.

EDIT: Вот весь плагин, поскольку я в настоящее время его закодировал, и он все еще не работает.

 /* Plugin Name: Display All Tags Description: When "Choose from the most used tags" is clicked, show all tags rather than most recent 45. Version: 1.0 Author: Michael Champlin Author URI: http://mjchamplin.com */ add_action( 'wp_ajax_get-tagcloud', 'ajax_tag_cloud_wpse_99497', 1 ); function ajax_tag_cloud_wpse_99497() { $tags = get_terms( 'sizes', array( 'number' => 999, 'orderby' => 'count', 'order' => 'DESC', ) ); } 

Solutions Collecting From Web of "Показать все теги"

Мне нужно было что-то подобное для клиентского сайта, они хотели добавить теги ко всем своим продуктам, но я не хотел, чтобы они просто составляли новые теги, я хотел дать им список тегов для начала.

Ответ vancoder предоставил ключ, необходимый для этого: атрибут «hide_empty».

Что делает код в исходном вопросе неработоспособным, это неполное. Поскольку вы переопределяете функцию WP, вам нужно заменить всю функцию своей пользовательской версией, которая должна обрабатывать все функциональные возможности оригинала. Исходная функция находится в wp-admin / includes / ajax-actions.php (строка 836 в версии 4.3), поэтому она копируется и модифицируется для создания функции переопределения:

 add_action( 'wp_ajax_get-tagcloud', 'ti_theme_tag_cloud', 1); function ti_theme_tag_cloud() { if ( ! isset( $_POST['tax'] ) ) { wp_die( 0 ); } $taxonomy = sanitize_key( $_POST['tax'] ); $tax = get_taxonomy( $taxonomy ); if ( ! $tax ) { wp_die( 0 ); } if ( ! current_user_can( $tax->cap->assign_terms ) ) { wp_die( -1 ); } $term_params = array( 'number' => 45, 'orderby' => 'count', 'order' => 'DESC' ); switch ($taxonomy) { case 'product_tag': $term_params['hide_empty'] = false; break; } $tags = get_terms( $taxonomy, $term_params ); if ( empty( $tags ) ) wp_die( $tax->labels->not_found ); if ( is_wp_error( $tags ) ) wp_die( $tags->get_error_message() ); foreach ( $tags as $key => $tag ) { $tags[ $key ]->link = '#'; $tags[ $key ]->id = $tag->term_id; } // We need raw tag names here, so don't filter the output $return = wp_generate_tag_cloud( $tags, array('filter' => 0) ); if ( empty($return) ) wp_die( 0 ); echo $return; wp_die(); } 

Эта переопределяющая функция добавляет возможность изменить конфигурацию облаков тегов на основе входящей таксономии, не затрагивая другие таксономии.

В качестве дополнительной доработки я сменил одну из меток в таксономии «product_tag»:

'choose_from_most_used' => 'Choose Tags',

Так что пользователь знает, что они просто получают список всех тегов.

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

Пытаться:

 $tags = get_terms( 'sizes', array( 'number' => 999, 'orderby' => 'count', 'order' => 'DESC', 'hide_empty' => false, ) ); 

Параметр hide_empty переопределит это поведение.

EDIT: я удалил параметр «таксономия» для ваших аргументов, поскольку он недействителен: http://codex.wordpress.org/Function_Reference/get_terms

EDIT: Я жестко закодировал ваше имя таксономии (которое, я надеюсь, все в нижнем регистре).