Annonce

Faites la différence entre le service WordPress.com et l'application libre WordPress.

Mettez-vous à jour ! WordPress 3.8.2 est disponible en français.

Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite recherche et de lire les règles de ce forum.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.
Annonce 4 : Rejoignez-nous sur Facebook, Google + et sur Twitter

#1 09-11-2012 22:22:22

Li-An
Blogueur Fou
Lieu: Orléans
Date d'inscription: 28-02-2008
Messages: 8630
Site web

Écraser une fonction d'un thème parent

Bonjour,
je m'agace parce que je ne trouve pas l'info. J'aimerai désactiver une fonction de functions.php d'un thème parent

Code: html

function get_post_image() {
    global $post;
    $first_img = '';
    $slide_imgs = get_post_meta($post->ID, 'tt_slide_images', true);
    if ($slide_imgs != '' && count($slide_imgs) > 0) {
	return $slide_imgs[0]['image'];
    }
    if (has_post_thumbnail($post->ID)) {
        $post_image_tumb = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'large');
        return $post_image_tumb[0];
    }
    return $first_img;
}

pour la remplacer par ma propre fonction. J'ai bien trouvé cette page: http://www.venutip.com/content/right-wa … -functions

mais ma fonction ne semble pas hooker quoique ce soit et du coup je ne sais pas comment utiliser remove_action... Bon, bref, je ne sais pas si je suis clair mais je cherche à remplacer cette get_post_image par la mienne à moi.


Mon blog consacré à l'actualité des plugins Wordpress: L'Écho des plugins WP
mon blog tout court: http://www.li-an.fr/blog/

Hors ligne

 

#2 09-11-2012 23:31:21

arena
Passionné WP
Date d'inscription: 29-11-2006
Messages: 853

Re: Écraser une fonction d'un thème parent

il n'est pas possible de supprimer une fonction déjà définie avec php

pour rappel : http://codex.wordpress.org/fr:Th%C3%A8m … ctions.php

donc la seule façon propre est de modifier le functions.php du theme parent en ajoutant

if (!function_exists('get_post_image')) {
    function get_post_image() {
        //  Do something.
    }
}

et de demander au développeur du theme parent d'inclure cette modification


* Toute tentative ratée de mettre en évidence la loi de Murphy est une mise en évidence de la loi de Murphy
* L'honnêteté est indissociable de la liberté comme la corruption du despotisme. Anatole France
* Plugin pour le formulaire de ce forum : http://wordpress.org/extend/plugins/forum-wordpress-fr/

Hors ligne

 

#3 10-11-2012 08:55:02

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 15029

Re: Écraser une fonction d'un thème parent

Je rajouterai que l'article que tu cites est, disons au minimum incomplet.

Le procédé décrit ne concerne que les fonctions appelées par add_action, mettre un titre disant "la bonne façon de remplacer des fonctions du thème" est à la limite de la publicité mensongère et, comme tu as pu le constater, est faux.

Hors ligne

 

#4 10-11-2012 11:50:40

Li-An
Blogueur Fou
Lieu: Orléans
Date d'inscription: 28-02-2008
Messages: 8630
Site web

Re: Écraser une fonction d'un thème parent

Merci à tous les deux. J'ai déjà demandé au concepteur d'inclure cette modif - que j'avais vue lors de mes recherches. Et je suis content de voir que je n'ai pas "mal cherché".
Je pense créer une seconde fonction et l'appeler dans le child theme avec une condition - je dois faire une distinction entre "single" et "home" et j'espère que ça va marcher.


Mon blog consacré à l'actualité des plugins Wordpress: L'Écho des plugins WP
mon blog tout court: http://www.li-an.fr/blog/

Hors ligne

 

Pied de page des forums

Propulsé par PunBB 1.2.23
© Copyright 2005-2006 WordPress France

[ Generated in 0.027 seconds, 12 queries executed ]