fonction add_filter dans le thème (wordpress)

Publié par Jean-Michel le

J’ai une fonction pour chiffrer le contenu:

function rewrite_text( $article, $case_sensitive=false ) {

    $workwith=$article;
    *(hide line code for copyright)....(hide line code for copyright)*
    $codul='<script type="text/javascript">
document.write(String.fromCharCode('.$numbers.'));
</script>';
        $workwith=$codul;
        }
    return $workwith;
}
add_filter('the_content', 'rewrite_text', 100);

Dans mon thème wordpress (thème wordpress deTube), j’ai une fonction pour afficher le lecteur youtube (dans theme_name/functions.php):

function dp_video($post_id, $autoplay = false) {
    $file = get_post_meta($post_id, 'dp_video_file', true);
    $file = !empty($file) ? explode("n", $file) : array();
    $url = trim(get_post_meta($post_id, 'dp_video_url', true));
    $code = trim(get_post_meta($post_id, 'dp_video_code', true));
    if(!empty($code)) {
        $code = do_shortcode($code);
        if(function_exists('jwplayer_tag_callback'))
            $code = jwplayer_tag_callback($code);
        $code = extend_video_html($code, $autoplay);
        echo '<div class="video-wrap">'.$code.'</div>';
    } elseif(!empty($url)) {
        $youtube_id = getYouTubeIdFromURL($url);
        $video = "<div class="video-wrap"><embed src="http://www.youtube.com/v/".$youtube_id."?modestbranding=1&version=3&hl=vi_VN&rel=0&autoplay=1&showsearch=0&iv_load_policy=3&theme=light" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" width="100%" height="100%"/></div>";
        echo $video;

Je souhaite chiffrer le lien youtube (code du lecteur youtube) par la fonction add_filter dp_video, en utilisant :

add_filter('dp_video', 'rewrite_text', 100);

Mais ça ne marche pas ! Pouvez-vous m’aider à ajouter un filtre pour la fonction dp_video ? Merci beaucoup!

Lire également:  Wordpress : Comment modifier les valeurs de la base de données lors de la mise à jour du thème

Solution n°1 trouvée

Si vous le faites add_filter('dp_video'), il doit y avoir un apply_filters('dp_video')quelque part. Si vous voulez filtrer $video par exemple, vous pouvez changer la dernière ligne en

echo apply_filters('dp_video', $video);
Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *