WordPress : Thème enfant vide – problème functions.php
J’ai créé un thème enfant et déplacé toutes les modifications que j’avais dans le thème parent functions.php dans functions.php du thème enfant. Maintenant, si je prévisualise le thème, il est vide.
J’ai trois choses à faire : modifier le nombre de balises affichées dans le cloud, masquer une catégorie de produits et afficher un aperçu des livres Google.
Je ne vois aucune erreur dans ce code, et cela fonctionne quand il est dans le parent.
J’apprécierais toute aide, je suis totalement bloqué!
<?php
function change_tag_cloud_widget() {
$args['number'] = 15;
return $args;
}
add_filter( 'widget_tag_cloud_args', 'change_tag_cloud_widget' );
add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
function custom_pre_get_posts_query( $q ) {
if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;
if ( ! is_admin() ) {
$q->set( 'tax_query', array(array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( 'hands-on' ), // Don't display products in the hands-on category on the shop page
'operator' => 'NOT IN'
)));
}
remove_action( 'pre_get_posts', 'custom_pre_get_posts_query' );
}
add_shortcode('gbooks', 'sc_embed_google_books');
function sc_embed_google_books( $atts ){
extract(shortcode_atts(array(
"id" => '',
"width" => '600',
"height" => '900',
), $atts));
return '<script type="text/javascript" src="http://books.google.com/books/previewlib.js"></script>
<script type="text/javascript">
GBS_insertPreviewButtonPopup("'.$id.'", '.$width.','.$height.');
</script>';
}
function get_google_tag( $isbn_metadata ) {
return (
/* '<span class="post-meta-key">Preview: </span>' . */
'<script type="text/javascript" src="http://books.google.com/books/previewlib.js"></script>' .
'<script type="text/javascript">' .
'GBS_insertPreviewButtonPopup('ISBN:' . $isbn_metadata . '');' .
'</script>'
);
}
?>
Solution n°1 trouvée
J’ai créé un thème enfant et déplacé toutes les modifications que j’avais dans le thème parent functions.php dans functions.php du thème enfant
Ne déplacez pas toutes les fonctions du thème parent dans le thème enfant, ajoutez simplement les modifications au thème enfant et laissez le parent functions.php tel qu’il est fourni avec le thème.
En conséquence, vous chargez probablement les fonctions deux fois.
Contrairement à style.css, le functions.php d’un thème enfant ne remplace pas son homologue du parent. Au lieu de cela, il est chargé en plus du fichier functions.php du parent. (Plus précisément, il est chargé juste avant le fichier du parent.)
http://codex.wordpress.org/Child_Themes#Using_functions.php
0 commentaire