我正在努力学习如何通过跟踪WordPress的源代码等来了解它。
我真的被\\u摘录()难住了。文档说明,\\u摘录使用get\\u the\\u extract(),并将返回(手动)摘录,或使用\\u内容的前55个字符。
我对逻辑感兴趣,它首先查找手动摘录,然后决定是否需要从帖子内容中提取子字符串。但我找不到它。
在post模板中。php中,我们看到了\\u摘录()并定义了\\u摘录()。
\\u extract()只执行echo out get\\u the\\u extract():
249 function the_excerpt() {
250 echo apply_filters(\'the_excerpt\', get_the_excerpt());
251 }
get\\u the\\u extract()似乎只不过是从wp\\u post表中获取post\\u extract列:
261 function get_the_excerpt( $deprecated = \'\' ) {
262 if ( !empty( $deprecated ) )
263 _deprecated_argument( __FUNCTION__, \'2.3\' );
264
265 global $post;
266 $output = $post->post_excerpt;
267 if ( post_password_required($post) ) {
268 $output = __(\'There is no excerpt because this is a protected post.\');
269 return $output;
270 }
271
272 return apply_filters(\'get_the_excerpt\', $output);
273 }
我看不出获取$post->post\\u内容的逻辑在哪里。它在过滤器里吗?我在任何地方都看不到这些定义的过滤器,但这可能是因为我不知道在哪里查找。
粗略地看一眼Adam Brown\'s source code search site 似乎也没有给出任何定义。
有人能帮我把线捡起来,把它弄清楚吗?记住,我更感兴趣的是如何找出答案,而不是实际答案。
我感谢大家的意见。
汤姆