Intereting Posts
WordPress Ajax не работает (пользовательская страница администратора) Как я могу выборочно печатать сценарии в нижнем колонтитуле определенных страниц администратора? Измените основной цикл WordPress с помощью фильтра parse_query Именование имен темы WordPress Параметры доступа к данным WordPress из мобильного приложения Какой крюк / фильтр можно использовать для добавления / редактирования / отображения / скрытия заголовка под ссылками (на hover) в виде таблицы? Добавление имени терминов из пользовательской таксономии, назначенной почтовой ссылке, отображаемой контуром wp_query на основе другой таксономии Удалите HTML-редактор и визуальные / HTML-вкладки от TinyMCE Плагин не может записывать в базу данных, даже если разрешения корректны? Спамеры атакуют мой сайт WordPress – Удаление поля URL из ядра? Объединить команды WPCLI для установки и активации плагинов? Как снять флажок приветствия и его экранную опцию? Показать другие сообщения Еще один сайт? Какой файл мне создать в моей теме WordPress, чтобы показать все сообщения, принадлежащие определенной категории? WordPress 3.0.1 на веб-сервере IIS 6 Проблемы PermaLink

Получить идентификатор категории в «archive-product.php»

Как я могу получить идентификатор категории в шаблоне archive-product.php ? Я попытался получить эту информацию с помощью $category var, но этот var не доступен в этом файле шаблона.

Обычно это должно работать с get_queried_object_id() .

В любом случае, поскольку я не знаю, что именно делает Woo для запроса, это может быть неверно, так как функция API ссылается на объект, который в настоящее время запрашивается. И это объект из последнего запроса. Таким образом, вы также можете сделать следующее:

Отказ от ответственности: нижеприведенная письменная функция не проверена, и вы должны var_dump() до тех пор, пока она не будет работать (а затем отредактируйте этот вопрос с вашим результатом и удалите эти строки здесь).

 <?php defined( 'ABSPATH' ) OR exit; /** Plugin Name: Cat ID helper for WooCommerce */ add_action( 'pre_get_posts', 'wpse_98288_get_object_id', 0 ); function wpse_98288_get_object_id( $query = null ) { static $id = 0; if ( 'pre_get_posts' === current_filter() ) remove_filter( current_filter(), __FUNCTION__ ); $query->is_main_query() AND $id = $query->get( 'cat_id' ); if ( null !== $query ) return $query; return $id; } 

Таким образом, это многоцелевая функция, которая должна использоваться как плагин (еще лучше: как mu-plugin). Он добавляет себя в процесс построения цикла / wp_query и пытается получить идентификатор из основного цикла. Затем вы можете вызвать его снова по имени своей функции в своем шаблоне, и он должен вывести идентификатор.

var_dump( $wp_query ) в том, что вы должны работать с var_dump( $wp_query ) чтобы определить, что именно задано и получить то, что вам нужно, поскольку я не знаю имен значений прямо сейчас прямо с моей головы.