Как я могу подключить функцию в WordPress, из файла function.php, таким образом, чтобы она работала только для одной страницы?
if( is_page( '285' ) ):
function searchfilter($query) {
if( $query->is_search && !is_admin() ) {
$query->set('post_type', array('projects'));
}
return $query;
}
add_filter('pre_get_posts','searchfilter');
endif;
У меня есть такой код, но он не работает. Kто подскажет, в чём проблема?
Условные теги не работают прямо в functions.php
. На момент подключения этого файла в ядре ещё не установлен главный запрос WordPress, поэтому is_page()
с любыми аргументами и без них возвращает false.
Условный тег должен быть использован внутри хука:
function searchfilter( $query ) {
if ( $query->is_search && ! is_admin() ) {
if ( is_page( '285' ) ) {
$query->set( 'post_type', array( 'projects' ) );
}
}
return $query;
}
add_filter( 'pre_get_posts', 'searchfilter' );
Но и такой код неправильный. is_search()
и is_page()
никогда не вернут true
одновременно. Из вопроса непонятно, что именно вы хотите сделать.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Недавно задался вопросом, можно ли взять к примеру текст из дивов на странице, которая частично подгружается из php? Сначала я написал небольшой...
я столкнулся с ситуацией, когда мне нужно узнать текст ссылки по которой перешли на мой сайтУ меня система такая, что при переходе на страницу...