gpt4 book ai didi

WordPress:apply_filters & add_action to the_content = EVIL?

转载 作者:行者123 更新时间:2023-12-03 20:21:18 26 4
gpt4 key购买 nike

我在实际教程中问过这个问题,但不确定我是否会在将近 2 个月大的时候得到答案......所以我会在这里看一看......

教程在这里:Build a WordPress Plugin to Add Author Biographies to your Posts

为了总结本教程和问题,本教程在内容末尾添加了作者简介,如下所示(简短版本):

function x($content) {
return $content . "Author Bio";
}

add_action('the_content','x');

问题:

当有人使用时:

$z = apply_filters('the_content', 'some content here');
echo $z;

作者简介将最终应用于 $z,如果 $z 在某个页面的中间被回显……作者简介将在某个页面的中间……对吗? (这是正确的,因为我已经测试过了...)

是否有更好的方法将内容应用到 the_content Hook 的结尾/下方/下方?除了 add_action(‘the_content’, ‘some_function’) 因为这对我来说似乎是邪恶的......

或者 apply_filters(‘the_content’, ‘some content here’) 不是规范或者开发人员不应该在他们的 WordPress 模板中使用的东西……? (这似乎很正常,至少在循环外使用 Google 格式化“the_content”)...

最佳答案

使用 apply_filters('the_content','some content here'),虽然它可能不是“规范”(我不知道。我以前没见过,但如果我需要格式化的文本,这就是我要做的),这是一个完全有效的使用过滤器来获得一些像内容一样格式化的文本。不幸的是,没有更好的方法可以将内容附加到插件的内容中。这就是这些东西的工作方式。

但是,有一种(不太理想的)方法可以避免这种情况。作为插件设置/安装过程的一部分,让用户将自定义函数调用、操作或过滤器插入到他们的主题中。我知道有几个插件可以做到这一点,所以这并不少见。像这样:

do_action('my_super_awesome_bio_hook');

将允许您 Hook 而不用担心将生物添加到意外(和意外)的内容。更好的办法是插入一个过滤器:

echo apply_filters('my_super_awesome_bio_filter_hook','');

这将允许您的插件修改简介,但也允许使用该插件的人在必要时覆盖它(例如在他们仅使用摘录的页面上,例如搜索结果等)。

希望这对您有所帮助。

另外,一个小附录:您应该使用 add_filter,而不是 add_action 来附加作者简介。 add_action 仍然有效,但它是您想要使用的过滤器。

关于WordPress:apply_filters & add_action to the_content = EVIL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3166114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com