Ce este în neregulă cu utilizarea mea a add_filter
Am vrut să înlocuiesc căutarea implicită din WordPress cu una personalizată, însă când am pus următorul cod în fișierul plugin-ului, acesta nu a înlocuit căsuța de căutare implicită (fără erori, nimic), iar când am pus codul în functions.php a funcționat perfect și a înlocuit căsuța de căutare implicită.
Poate cineva să-mi spună de ce nu funcționează în fișierul plugin-ului? Mulțumesc!
function DynamiteSearch($form) {
$form = '<form method="get" id="searchform" action="' . get_option('home') . '/" >
<div><label class="hidden" for="s">' . __('Caută:') . '</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(__('Caută')).'" />
</div>
</form>';
return $form;
}
add_filter('get_search_form', 'DynamiteSearch');

Am curățat codul tău și am adăugat toate informațiile din header pentru instalare. Plugin-ul tău funcționează perfect, l-am testat!
/*
Autor: oricine
Nume Plugin: Un Nume
Plugin URI:
Text Domain: un-domeniu
Versiune: 1.0
*/
function DynamiteSearch($form)
{
$form = "<form method = 'get' id = 'searchform' action = ' ".site_url()." ' >";
$form .= "<div><label class = 'hidden' for='s'>". __("Caută: ") . "</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(__('Caută'))." ' />";
$form .= "</div>";
$form .= "</form>";
return $form;
}
add_filter('get_search_form', 'DynamiteSearch');
Încearcă să modifici textul butonului de submit pentru a verifica dacă funcționează. Anunță-mă dacă a funcționat pentru tine.
Mulțumesc, Rutwick

Mulțumesc Rutwick! Dar din anumite motive căsuța de căutare de pe site-ul meu încă nu se schimbă. Ai reușit să modifici căsuța de căutare cu acest cod? Mulțumesc pentru informații.

Da, Arvind... Am testat prin schimbarea textului butonului și s-a afișat corect. Folosesc tema 'TwentyTen'...

Dacă codul pe care l-ai postat este literalmente tot codul pe care îl introduci în fișier, acesta este motivul.
În primul rând, ai nevoie de antetul pluginului în partea de sus a fișierului, de exemplu...
/*
Author: cineva
Description: orice
Domain Path: /lang
Plugin Name: Un Nume
Plugin URI:
Text Domain: un-domeniu
Version: 1.0
*/
În al doilea rând, trebuie să activezi pluginul din pagina de administrare a pluginurilor (Admin > Plugins), dar acesta va apărea în acea listă doar după ce pluginul are un antet valid, precum cel postat mai sus.
Dacă niciuna dintre aceste două lucruri nu este problema, te rog să postezi mai mult din codul tău (trebuie să fie mai mult, deoarece lipsesc anteturile pluginului din ceea ce ai postat)...
Sper că acest lucru te ajută... :)
