2017-02-19 40 views
1

我知道這是基本的東西,但我只是開始通過構建一個簡單的插件(每個人都從某處開始!)用一個簡單的動作鉤子來添加內容和過濾器鉤子來學習動作和過濾鉤子改變它。簡單的WP動作和過濾器鉤子

這裏是插件文件我的行動掛鉤:

function sushi_add_a_title(){ 

    $title = 'hello world!'; 
    echo $title; 
} 
add_action('wp_head', 'sushi_add_a_title'); 

和過濾器鉤的functions.php:

function sushi_change_the_title($title){ 

    $title = 'hi world!'; 
    return $title; 
} 
add_filter('wp_head', ‘sushi_change_the_title'); 

我期待的輸出從「世界你好」改爲'嗨世界!'...但沒有改變。

我在做什麼錯?

+1

是wordpress意識到你自定義過濾器?換句話說:你有沒有把你的自定義過濾器包含在functions.php中? – Vamsi

回答

0

您的add_filter行中有一個「捲髮報價」(),可能會破壞您的PHP。

add_filter('wp_head', ‘sushi_change_the_title');

+0

使用正確的(')格式,它仍然輸出'hello world'。我想我需要使用apply_filters('sushi_change_the_title',$ title);但不知道在哪裏 – MFirenzimax

1

嗯,我想我已經想出了一個解決方案,並使用str_replace函數。

function sushi_add_a_title(){ 
    $title = 'hello world!'; 
    echo apply_filters('a_nice_title' , $title); 
} 
add_action('wp_head', 'sushi_add_a_title'); 

add_filter('a_nice_title', 'replace_string'); 
function replace_string($title){ 
    $title = str_replace("hello world!", "Hi world!", $title); 
    return $title; 
} 
相關問題