我将在这里添加数字,使其更加清楚。即使当我读到它时,知道每一个片段的意思,它也可能会在语义上迷失方向。
Your original function 正在呼叫(1)$post->post_content
来自对象,并根据条件,回显函数中返回的内容或内容(2)the_content()
, 这只是(1)$post->post_content
完成(3)后get_the_content()
和(2)the_content()
.
当你看的时候at the source of (3)get_the_content()
您可以看到(1)发生了什么$post->post_content
在达到(2)之前the_content()
Your second function 正在接收(1)$post->post_content
after 已完成(3)get_the_content()
, 进入(2)the_content()
然后在回显之前对其应用更改。
(4)apply_filters(\'the_content\'...
你正在和你的(5)add_filter(\'the_content\'...
位于line 240 of post-template.php 函数末尾(2)the_content()
调用函数(3)get_the_content()
正在检索的(1)$post->post_content
从当前$post
对象
(看每一件作品时,它的内容、内容、内容听起来都不那么响亮)
对于第二个函数,您需要返回(6)$content
如果希望函数有内容(2)the_content()
显示。在模板中,您只需使用(2)the_content()
, 当您的条件被应用时(由(4)apply_filters(\'the_content\'...
就在(2)之前the_content()
返回。
我会添加一个if ( [is_page()][3] && [is_main_query()][3] ) {}
第二个函数中的包装器,所以它不会根据需要应用于非页面循环或子查询。
BUT 在我看来,首先要检查的是修改原来的函数,使其使用(3)get_the_content()
代替(1)$post->post_content
确保您可以在该函数完成它的工作(这就是您现在正在做的)后进行挂钩,而不会丢失预期的结果。
伙计,我希望这很清楚。
查看链接以查看每个链接之间的关系。这真的,真的,有助于理解每一个片段,让你知道你在事件链中的位置,以及你为什么在这里或那里上钩等等。