都 8102 年了,从 WORDPRESS 入手了解程序结构会很迟吗?在线等挺急的。
下面先说说我的理解
通过以下一下方式加入了一个 filter
function example_callback( $example ) {
// Maybe modify $example in some way.
return $example;
}
add_filter( 'example_filter', 'example_callback' );
这种情况下,代码执行到某一步遇到某个触发点,就会有执行函数 example_callback,而 apply_filters 则是主动执行。
apply_filters( 'example_filter', $value );
在页面的某处加入这个函数,则会连到 add_filter( 'example_filter', 'example_callback' );主动执行 example_callback
不知道我的理解有没有错误。
如果上面的理论成立,现在来问另外一个问题。现在我从 wordpress 的 twentyeleven 入手,去了解并尝试写一个简陋主题,在 author.php:56 那里遇到了一个函数
echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyeleven_author_bio_avatar_size', 60 ) );
在这里遇到一个问题,这个 filter 名 twentyeleven_author_bio_avatar_size,应该可以在某处见到一个类似于
add_filter( 'twentyeleven_author_bio_avatar_size', 'the function' );
但是我找翻了主题内的所有文件,硬是没见到类似函数,去 developer.wordpress.org 上面看了一下,发现只有。apply_filters( 'twentyeleven_author_bio_avatar_size', 60 )这个函数的解析,并没有说 twentyeleven_author_bio_avatar_size 这个钩子在哪里设置的。(我去 function.php 看过并没有找到)
第一次完全用 markdown 写,可能有点恶心,见谅!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.