Jump to content
  • 0

Пользовательский поиск Google: некорректная работа под Wordpress


samorealization
 Share

Question

Добрый день.

Я решил поставить себе на Вордпресс пользовательский поиск от Гугла. После регистрации и всех шагов получил от Гугл вот такой код для размещения на сайте.

<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'ru'});
google.setOnLoadCallback(function() {
var customSearchControl = new google.search.CustomSearchControl('016925526246336467428:rfe6ajuzqjc');
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');
}, true);
</script>

На сайте enjoy-job.ru вы можете посмотреть что получилось.

1) Как я понимаю, я не могу управлять внешним видом этого поиска. Это так?

2) Я хочу сделать вывод результатов в контентную часть, а не sidebar. Как это реализовать?

Я хочу, чтобы была строка поиска и кнопка (без других наворотов). В строке чтобы была надпись Google....

Помогите, пожалуйста, сделать поиск.

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Чует мое сердце, что программировать как-то это нужно.

Вот то, что пишет Гугл:

На отдельной странице сайта (при помощи тега iframe). Обеспечивает ограниченный выбор настроек и требует отдельной страницы для результатов на сайте

Код счетчика:

<form action="http://enjoy-job.ru/wp-content/themes/simple-chrome/search2.php" id="cse-search-box">
<div>
<input type="hidden" name="cx" value="016925526246336467428:rfe6ajuzqjc" />
<input type="hidden" name="cof" value="FORID:9" />
<input type="hidden" name="ie" value="UTF-8" />
<input type="text" name="q" size="21" />
<input type="submit" name="sa" value="Поиск" />
</div>
</form>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script>
<script type="text/javascript" src="http://www.google.com/cse/t13n?form=cse-search-box&t13n_langs=ru"></script>
<script type="text/javascript" src="http://www.google.com/cse/brand?form=cse-search-box〈=ru"></script>

Требует отдельной страницы для результатов - это мне как сделать?

Если оставить поиск по умолчанию на WP, то адрес страницы у результатов http://enjoy-job.ru/?s="бублик"

В моем случае я создал страницу search2.php, в которой указал то, что просил Гугл (Вставьте этот код на страницу http://enjoy-job.ru/wp-content/themes/simp...ome/search2.php в том месте, где будут появляться результаты поиска):

<?php get_header(); ?>
<div class="span-18">
<div id="content">

<div id="cse-search-results"></div>
<script type="text/javascript">
var googleSearchIframeName = "cse-search-results";
var googleSearchFormName = "cse-search-box";
var googleSearchFrameWidth = 600;
var googleSearchDomain = "www.google.com";
var googleSearchPath = "/cse";
</script>
<script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script>

</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

Результат работы поиска - абсолютно пустая страница (без шапки, подвала и контента).

Что не так?

Link to comment
Share on other sites

  • 0

В вордпрессе надо сделать обычную страницу вроде поста, дизайн даже стандартный можно оставить. Она должна открываться по адресу, допустим enjoy-job.ru/search2. Причем открываться без всяких дополнительных символов в адресе. Это первый шаг. На втором шаге в содержание вставляешь

<div id="cse-search-results"></div>

<script type="text/javascript">

var googleSearchIframeName = "cse-search-results";

var googleSearchFormName = "cse-search-box";

var googleSearchFrameWidth = 600;

var googleSearchDomain = "www.google.com";

var googleSearchPath = "/cse";

</script>

<script type="text/javascript" src="http://www.google.com/afsonline/show_afs_search.js"></script>

Больше ничего не надо.

Проверяешь. В адресе пишется enjoy-job.ru/search2?q=что-нибудь, если выводится надпись Гугл, значит все в порядке. И последний шаг - в форме меняешь адрес action на /search2/.

Link to comment
Share on other sites

  • 0

апну тему.

Столкнулся с такой проблемой, я выбрал такой вариант где на главной странице форма поиска, а на другой странице результаты должны быть. Когда запрос ввожу она меня на другую страницу кидает, но результаты никакие не отображает.

На главную страницу я это вставил

<div id="cse-search-form" style="width: 100%;">Loading</div>
<script src="http://www.google.ru/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'ru', style : google.loader.themes.V2_DEFAULT});
google.setOnLoadCallback(function() {
var customSearchOptions = {}; var customSearchControl = new google.search.CustomSearchControl(
'014652308576269839285:pcv2lw7zk4w', customSearchOptions);
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
var options = new google.search.DrawOptions();
options.enableSearchboxOnly("http://quranic.ru/search/", "gs");
customSearchControl.draw('cse-search-form', options);
}, true);
</script>

где результаты поиска вот это

<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.ru/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1', {language : 'ru', style : google.loader.themes.V2_DEFAULT});
google.setOnLoadCallback(function() {
var customSearchOptions = {}; var customSearchControl = new google.search.CustomSearchControl(
'014652308576269839285:pcv2lw7zk4w', customSearchOptions);
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
customSearchControl.draw('cse');
function parseParamsFromUrl() {
var params = {};
var parts = window.location.search.substr(1).split('\x26');
for (var i = 0; i < parts.length; i++) {
var keyValuePair = parts[i].split('=');
var key = decodeURIComponent(keyValuePair[0]);
params[key] = keyValuePair[1] ?
decodeURIComponent(keyValuePair[1].replace(/\+/g, ' ')) :
keyValuePair[1];
}
return params;
}

var urlParams = parseParamsFromUrl();
var queryParamName = "gs";
if (urlParams[queryParamName]) {
customSearchControl.execute(urlParams[queryParamName]);
}
}, true);
</script>

но результат так и не отображается, в чем проблема?

Можете сами попробовать, вот сайт http://quranic.ru/

Edited by moslem
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy