Я предполагаю, что это шаблон страницы, верно?Это означает, что у него есть комментарий «Имя шаблона:» вверху, и он используется, когда появляется страница, а имя было выбрано в меню «Шаблон страницы» в редакторе.Если это так, то были на той же ... странице (каламбур был неизбежен.)
Если это так, вам нужно отфильтровать 'page_template'.
function filter_page_template($template){
/**
* Lets see if the current template is featured.php,
* and if 'new' is set in the query string
*/
if(isset($_GET['new']) && $template == locate_template('featured.php')) {
/**
* If so, we'll set the custom template name...
* You can skip this temporary variable and just pass this
* directly to 'locate_template()'.
*/
$new_template = 'featured-new.php';
/*... and now we use locate_template to find the actual path and return that. */
return locate_template($new_template);
} else {
/**
* Otherwise, if 'new' is not set
* or the current template is not 'featured.php',
* We should just return the original $template value undisturbed.
*/
return $template;
}
}
add_filter('page_template', 'filter_page_template');
Я надеваюВы не понимаете, как вы хотите использовать 'new', звучит так, как будто вы хотите получить параметр строки запроса, который был вызван как new, и посмотреть, был ли он вообще установлен.Так вот что я сделал.Если вы имели в виду что-то другое, вам нужно соответствующим образом изменить эту логику.