Come si legge nel titolo Sto provando a modificare una funzione chiamata da un tema padre in mio figlio, so che il tema figlio è impostato per essere caricato in anticipo quindi sono curioso se questo è anche possibile?Sovrascrivi una funzione con funzioni child themes.php
Il tema principale ha una funzione denominata ajax_search_box() in cui vorrei modificare una query e preferirei non modificare i file del tema principale nel caso in cui sia necessario aggiornarlo lungo la strada. essere il modo migliore per farlo?
Inoltre, per i punti bonus, come farei per farlo anche con un widget? Grazie in anticipo!
function SearchFilter($query) {
// If 's' request variable is set but empty
if (isset($_GET['s']) && empty($_GET['s']) && $query->is_main_query()){
$query->is_search = true;
$query->is_home = false;
}
return $query;
}
add_filter('pre_get_posts','SearchFilter');
function ajax_search_box() {
if (isset($_GET["q"]))
{
$q = $_GET["q"];
global $wpdb;
$q = mysql_real_escape_string($q);
$q = $wpdb->escape($q);
$query = array(
'post_status' => 'publish',
'order' => 'DESC',
's' => $q
);
$get_posts = new WP_Query;
$posts = $get_posts->query($query);
// Check if any posts were found.
if (! $get_posts->post_count)
die();
//Create an array with the results
foreach ($posts as $post)
echo $post->post_title . "|" . $post->ID . "\n";
}
die();
}
// creating Ajax call for WordPress
add_action('wp_ajax_nopriv_ajax_search_box', 'ajax_search_box');
add_action('wp_ajax_ajax_search_box', 'ajax_search_box');
Mostra la funzione nel contesto. – brasofilo
Aggiunta ora la funzione. – Jassi