Очистка кода 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;