Intereting Posts
Как удалить & nbsp; от hr в текстовом редакторе wordpress Тематический обзор: миниатюра сообщения, изображение заголовка, ширина содержимого Как установить метабокс по умолчанию при создании пользователя? Родитель – детские страницы и шаблоны в wordpress Как получить похожие пользовательские сообщения? Таблица не создается после активации темы WP Виджет архива WordPress вызывает ошибки Bing bot 404 Получить новый (не старый) пост внутри hook_post_status Где я могу поместить мои add_action (… и add_filter (… и мне нужно их удалить? Показать пользовательский тип сообщения внутри настраиваемого типа сообщения Удаление виджета без использования unregister_widget Неверные результаты поиска в search.php – проблема срабатывает с помощью `define ('BodyID', 'search'); the_post (); `in search.php есть действие update_post_meta Иерархические таксономии в permalink вызывают 404 для субтерминального архива wp_insert_term в многопользовательской установке

Показать название для посетителей поисковой системы

Я где-то читал *), что внутри объекта wp_query есть часть q , которая идентифицирует посетителей поисковой системы и показывает ключевые слова, которые они искали.

Я сейчас разрабатываю локальный, поэтому я не могу получить доступ / видеть $GLOBALS['wp_query']->q; ,

Может ли кто-нибудь изменить его, если он существует, и / или имеет альтернативное решение для извлечения:

  • название поисковой системы
  • искомая строка поиска внутри движка?

*) Не помню, где, но это как-то связано с «лучшей страницей результатов поиска» и «поисковыми запросами».

EDIT

Это то, что я получил до сих пор:

 // declare the server itself as invalid to only catch search engine results $http_referer = explode( "/", $_SERVER['HTTP_REFERER'] ); $http_referer = $http_referer[2]; $home_url = explode( "/", home_url() ); $home_url = $home_url[2]; // Coming from a search engine: modify to a search string if ( isset( $_SERVER['HTTP_REFERER'] ) && $home_url !== $http_referer ) { // remove previous "s" search query args remove_query_arg( 's' ); $string = parse_url( $_SERVER['HTTP_REFERER'] ); $query = $string['query']; $query = explode( "&", $query ); foreach ( $query as $q ) { $q = urldecode( $q ); $arr = explode( "=", $q ); if ( (string) 'q' === $arr[0] ) $search_string = $arr[1]; } // build a new "s" search query arg: if isset, from the string entered in the search engines input form // in theory that should allow treating it like a normal search result // the draw back is, that a search engine visitor would never get directly to a post or page if ( isset( $search_string ) ) add_query_arg( array( 's' => $search_string ) ); } 

Помимо недостатка, что ни один посетитель поисковой системы не придет к результату напрямую, я бы не поймал все поисковые системы таким образом. Google и Altavista получили аргумент запроса q=searchstring . Yahoo, например. использует p=

Solutions Collecting From Web of "Показать название для посетителей поисковой системы"

Я только что проверил тест на моем размещенном сайте. Я запустил следующее:

 echo '<pre>'; global $wpdb; print_r($wpdb); print_r($GLOBALS); echo '</pre>'; 

Не было найденных «wp_query», «[q]» или «поисковых» переменных. Обратите внимание, что я не смог найти это через поисковую систему, поскольку он не доступен в Интернете.

Просто, чтобы дать вам немного больше, вот весь объект, который я получаю: http://pastebin.com/qV2QSHYf .

Я никогда не слышал об этом из wp_query, но можете ли вы посмотреть на $_SERVER['HTTP_REFERER'] чтобы получить это? Я никогда не пробовал лично.

 if( isset($_SERVER['HTTP_REFERER']) ) print_r( parse_url( $_SERVER['HTTP_REFERER'] ) );