Intereting Posts
Лучшая, самая легкая тематическая рассылка / рассылка новостей? Клонирование страниц администратора, таких как users.php В администрировании, как мне отображать комментарии определенного пользователя? Как я могу найти таксономию в edit_ {taxonomy}? Как вы импортируете членов из другой системы в WordPress и обновляете пароли, чтобы они работали? Как wordpress знает, какой сайт настроить (на многоузловом)? как вставлять миниатюры определенной категории внутри разных контейнеров Неустранимая ошибка: вызов неопределенной функции wp_insert_post () Перехватите действие «потерянного пароля», предварительно перенаправив его на существующую страницу инструкций Добавление предварительно обрезанных изображений в приложения для продуктов woocommerce Изменение или обновление цикла WordPress на основе выбора выпадающего списка Как показывать только сообщения с изображениями? Метаданные публикации удаляются Как повысить производительность для перенаправления домена.tld / 35 на domain.tld / full-permalink? Пользовательская структура константной ссылки типа, включающая таксономию

Очистка кода WordPress, который повторяется

Я хочу использовать следующий код несколько раз в одном шаблоне страницы, однако шаблон становится слишком большим, когда дело доходит до строк кода и, следовательно, размера. Каждый раз, когда я его использую, я меняю только один параметр, а 99% остается неизменным. Параметр, который я меняю, это 'terms'=>'pop' . Я знаю, что могу отображать все сообщения и все таксономические термины (должности таксономий по каждой таксономии) с относительно небольшим фрагментом кода, но это не будет работать так, как я хочу, поскольку я хочу заказать таксономии по-своему, а не по названию или термину ( ASC / DSC). Я думаю, что, возможно, добавьте код в fuction, и каждый раз, когда я вызываю функцию, я просто передаю параметр, который изменяется.

Код:

 $query = new WP_Query( array( 'post_type' => 'stations', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'tax_query' => array( array( 'taxonomy' => 'genres', 'field' => 'name', 'terms' => 'pop' // THIS IS WHAT CHANGES ) ) ) ); 

Solutions Collecting From Web of "Очистка кода WordPress, который повторяется"

Чтобы расширить ответ от Global:

Вставьте это в свои функции functions.php:

 function get_stations_query( $terms ) { //create new query object $query = new WP_Query( array( 'post_type' => 'stations', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC', 'tax_query' => array( array( 'taxonomy' => 'genres', 'field' => 'name', 'terms' => $terms ) ) ) ); return $query; //return the object } 

Затем в файлах шаблонов вы можете использовать:

 $query = get_stations_query('pop'); 

Создайте новую функцию, поместите в нее весь код и замените 'pop' на $ genre. Затем назовите его так:

 get_stations_query( $genre ); 

возвращение вашей функции должно быть

 return $query;