我知道这是基本的东西,但我刚开始学习动作并通过构建一个简单的插件(每个人都在某处开始!)来学习动作和过滤钩子,其中有一个简单的动作钩子来添加内容和一个过滤器钩子来改变它。
以下是插件文件中的动作挂钩:
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' );
我期待输出从'hello world'变为'hi world!'......但没有变化。
我做错了什么?
答案 0 :(得分: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;
}
答案 1 :(得分:0)
你有一个"卷曲的引用" ‘
行中的{add_filter
)可能会破坏您的PHP。
add_filter( 'wp_head', ‘sushi_change_the_title' );