简单的wp动作&过滤钩

时间:2017-02-19 07:35:06

标签: php wordpress

我知道这是基本的东西,但我刚开始学习动作并通过构建一个简单的插件(每个人都在某处开始!)来学习动作和过滤钩子,其中有一个简单的动作钩子来添加内容和一个过滤器钩子来改变它。

以下是插件文件中的动作挂钩:

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!'......但没有变化。

我做错了什么?

2 个答案:

答案 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' );