insightful
  • 0
Новичок

Что не так с моим использованием add_filter

  • 0

Я хотел переопределить поиск WordPress по умолчанию с помощью своего пользовательского поиска, однако, когда я помещаю следующий код в файл плагина, он не появляется, заменяя окно поиска по умолчанию (без ошибок, ничего), и когда я помещаю код в functions.php, он отлично работает и заменяет окно поиска по умолчанию.

Может ли кто-нибудь сказать мне, почему он не работает в файле плагина? Спасибо!

function DynamiteSearch($form) {
    $form = '<form method="get" id="searchform" action="' . get_option('home') . '/" >
    <div><label class="hidden" for="s">' . __('Search for:') . '</label>
    <input type="text" value="' . attribute_escape(apply_filters('the_search_query', get_search_query())) . '" name="s" id="s" />
    <input type="submit" id="searchsubmit" value="'.attribute_escape(__('Search')).'" />
    </div>
    </form>';
    return $form;
}

add_filter('get_search_form', 'DynamiteSearch');
Share
  1. Вы уверены, что плагин активирован? Если это так, было бы полезно, если бы вы могли опубликовать весь файл плагина.

    • 0
  2. Я почистил ваш код и поместил всю информацию заголовка для его установки. Ваш плагин работает отлично, я проверил его!

    /*
    Author: whoever
    Plugin Name: Some Name
    Plugin URI: 
    Text Domain: some-domain
    Version: 1.0
    */
    
    function DynamiteSearch($form) 
    {
        $form = "<form method = 'get' id = 'searchform' action = ' ".site_url()." ' >";
        $form .= "<div><label class = 'hidden' for='s'>". __("Search for: ") . "</label>";
        $form .= "<input type = 'text' value=' ". attribute_escape(apply_filters('the_search_query', get_search_query())) ." ' name='s' id='s' />";
        $form .= "<input type = 'submit' id='searchsubmit' value=' ".attribute_escape(__('Look for it'))." ' />";
        $form .= "</div>";
        $form .= "</form>";
    
        return $form;
    }
    
    add_filter('get_search_form', 'DynamiteSearch');
    

    Попробуйте изменить текст кнопки отправки, чтобы проверить, работает ли он. Дайте мне знать, если это сработало для вас.

    Спасибо, Рутвик.

    • 0
  3. Если код, который вы разместили, это буквально весь код, который вы помещаете в файл, вот почему.

    Во-первых, вам нужны заголовки плагинов в верхней части файла, например..

    /*
        Author: whoever
        Description: whatever
        Domain Path: /lang
        Plugin Name: Some Name
        Plugin URI: 
        Text Domain: some-domain
        Version: 1.0
    */
    

    Во-вторых, вам нужно активировать плагин на странице администратора плагинов (Администрирование > Плагины), но он появится в этом списке только после того, как у плагина будет правильный заголовок, как тот, что опубликован выше.

    Если ни одна из этих двух вещей не является проблемой, опубликуйте больше своего кода (их должно быть больше, потому что вам не хватает заголовков плагинов из того, что опубликовано).

    Надеюсь, это поможет.. 🙂

    • 0

Оставить ответ

You must login to add an answer.