- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在实际教程中问过这个问题,但不确定我是否会在将近 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/
Fatal error: Call to undefined function add_action() in D:\xampp\htdocs\excel\wp-content\plugins\Dat
我想根据短代码参数向 head 部分添加样式标签。我编写了一个样式函数,并希望在短代码函数中调用其 add_action。 但是,样式并没有添加到头部。如果我在函数外部调用 add_action ,它
我希望当用户添加评论时,它会同时添加到另一个页面中。为此,我使用这段代码: $the_post_id, 'comment_author' => $comment->c
我可以这样做吗?将参数传递给我的函数?我已经研究过add_action doc但不知道该怎么做。传递两个参数的确切语法是什么样的。特别是如何传递文本和整数参数。 function recent_pos
我在实际教程中问过这个问题,但不确定我是否会在将近 2 个月大的时候得到答案......所以我会在这里看一看...... 教程在这里:Build a WordPress Plugin to Add A
我正在查看我的 functions.php 并想知道为什么代码 A 使用 add_action 而代码 B 使用 add_filter ? CODE A 的主要目标是包括和排除特定类别。 CODE B
我尝试使用hook调用静态方法,但是失败了。 我像这样在 test.php 中添加 Action require_once('class.test.php'); add_action('regis
我正在学习创建一个 wordpress 插件我下载了一个并阅读了代码,我看到了这个我假设“foo”是它将添加操作的标签.. 但是 array() 究竟做了什么? add_action('foo', a
我刚刚接触 Wordpress,我正在尝试使用 OOP 技术编写一个非常简单的插件。我一直在关注本教程:http://www.yaconiello.com/blog/how-to-write-word
我正在尝试找出 do_action 和 add_action 的确切作用。我已经用 add_action 检查了,但是对于 do_action 我现在正在尝试新的。这是我尝试过的。 function
我正在使用钩子(Hook)user_register来写入变量$user_id。我想在函数内调用此 Hook ,并将变量 $pass 从父函数传递到函数 register_pass。一旦到达,$pas
我正在使用写入变量 $user_id 的钩子(Hook) user_register。我想在函数内部调用此 Hook ,并将变量 $pass 从父函数传递给函数 register_pass。一旦到达那
我正在使用命令行实用程序来满足我的项目的一项要求:optparse。 假设我使用如下所示的 add_option 实用程序: parser.add_option('-c','--categories'
我正在尝试从我们的 Contact7 表单之一发布数据,然后将该数据保存在 mysql 表中。我对 WordPress 很陌生。我遵循了其他人的代码。但我没有运气收到表中的数据。我觉得 add_act
我正在尝试编写一个包含多个文件的插件。我确信我之前做的没有问题,但现在我在主题上遇到了问题。 在主插件文件中,我包含了一个文件名 - ydp-includes.php。在 ydp-includes.p
我有一些推特更新的代码- function twitit() { global $wp_query; $thePostName = $wp_query->post->post_name; echo '
我正在尝试在我使用插件 woocomerce 的 Wordpress 中完成付款后添加一个函数( Hook )。 documentation因为 woocommere 表示有一个名为“woocomme
我正在尝试添加自定义端点(自定义端点”是指 WP 无法识别为标准 URL 的任意 URL,例如永久链接等。)我使用 WordPress 插件样板“https://github.com/DevinVin
由于某种原因,以下内容没有将我的 JS 和 CSS 加载到 WordPress 中。该代码位于激活的插件中,否则该插件正在执行。另外,我检查了主题中确实存在 wp_head 。 add_action
我需要在 foreach 循环中动态构建多个 add_action() 函数,循环遍历用户可能创建的各种自定义分类法。 操作 Hook 的名称是“category_add_form_fields”,但
我是一名优秀的程序员,十分优秀!