Questions tagged «hooks»

插件和主题扩展WordPress核心功能的方法。


3
此代码将运行多少次?(或者,奶奶有多富?)
假设的示例,但在现实世界中适用(对于像我这样学习的人)。 给出以下代码: <?php function send_money_to_grandma() { internetofThings("send grandma","$1"); } add_action('init','send_money_to_grandma'); add_action('init','send_money_to_grandma'); 好的,现在我打开我的WP网站并登录。我在Admin中浏览了几页。在笔记本电池没电之前,“ init”操作总共触发了100次。 第一个问题: 我们寄给奶奶多少钱?是1美元,2美元,100美元还是200美元(或其他价格)? 如果您还可以解释您的答案,那就太好了。 第二个问题: 如果我们要确保只给奶奶寄1美元,那最好的方法是什么?全局变量(信号量)在我们第一次发送$ 1时设置为“ true”吗?还是有其他测试可以查看某个动作是否已经发生并阻止其多次触发? 第三个问题: 这是插件开发人员担心的事情吗?我意识到我的示例很愚蠢,但我同时考虑了性能问题和其他意外副作用(例如,如果函数更新/插入数据库)。

4
do_action和add_action之间的区别
这个问题可能是错误的,我不确定。因为我对此不清楚。 我知道add_action它用于将我们的功能挂钩到指定的功能。例如,add_action('wp_head'.'myfunc');现在myfunc将在其中执行任何代码wp_head()。这很明显,但是我对此有疑问do_action? 我认为它是用来创建我们自己的钩子,就像已经可用的钩子(wp_head,wp_footer,.. etc)。 我已经尝试过互联网的区别,但是所有人都指出了add_action和add_filter之间的区别。我不想去那里,因为首先我想弄清这一点,然后我将搬到那里。 有谁能够帮助我? 问题发布后编辑 function custom_register() { echo '<script>jQuery(document).ready(function(){alert("Learning Hooks");});</script>'; } do_action('custom'); add_action('custom','custom_register'); 我在插件中尝试了此操作,但没有收到警报消息。 但是当我与相同的功能挂钩时,wp_head它工作正常 /******************working****************/ add_action('wp_head','custom_register');
20 hooks  actions 

5
您如何使用CPT作为默认主页?
我有一个客户的网站,该网站将大量使用自定义帖子类型来配置其网站。但是对于他们要求的主页,我处于艰难和艰难的境地之间。 实际上,主页将是WordPress中特定“页面”的堆栈。基本上,将有以下页面:简介,博客,关于我们,投资组合和与我们联系。它们将全部堆叠在一起,因此您可以从一页滚动到另一页。 我的第一个本能是只使用一个页面(称为Home)并嵌入一个接受页面内容并输出正确顺序(即[pageOrder]intro, blog, about-us, portfolio, contact-us[/pageOrder])的短代码。该页面将使用自定义页面模板来布置内容,控制循环并将导航添加到页面左侧。但这一切似乎都是k脚的。 我的理想解决方案是创建一个自定义帖子类型(称为Stack),该类型允许最终用户通过拖放操作定位页面,并让CPT负责布局和导航等工作。 我理想的解决方案的问题是设置。WordPress允许您为网站的默认主页选择页面。但这与页面的发布类型有关,我不确定在何处进行修改以使用户也可以选择Stack作为默认主页。 因此,为了添加CPT到默认主页的可用页面下拉菜单中,我该连接到哪里?

2
难以理解apply_filters()
在apply_filters()中 apply_filters( $tag, $value, $var ... ); 我在将头缠绕在$value和上时遇到麻烦$var。我阅读了抄本,听起来好像$value可以修改了$var,但是我还没有在野外找到任何示例。它似乎用作传递变量的方法。在那种情况下,那和$var?有什么区别?
19 filters  hooks  actions 

5
保存后如何编辑帖子数据?
我有一个插件,我希望能够通过一些过滤器来运行帖子内容,然后再将其保存到数据库中。通过查看插件api,我看到两个看起来像它们的钩子可能会有所帮助: save_post wp_insert_post 唯一的问题是,它看起来save_post不需要返回变量,因此我不知道如何过滤内容,并且wp_insert_post看起来已记录在案。 我想做这样的事情: add_action('whatever_hook_name','my_function'); function my_function($post_content){ return $post_content.' <br> This post was saved on '.time(); } 我将做一些比附加时间戳更有用的事情,即运行一些正则表达式过滤器,但这是我要添加的过滤器/操作的一般类型。 更新资料 请注意,我想截取保存在数据库中的数据,而不是在帖子中显示数据时截取(例如:不通过添加过滤器到the_content)

2
什么是正确的钩子时更新帖子
我尝试在更新帖子时挂机,但我尝试执行的所有挂机都从未执行过 updated_post_meta add_action('updated_post_meta', 'my_function'); function my_function($post_id) { echo 'This is my post ID : '.$post_id; } 我已经尝试过了,add_action('save_post', 'my_function');但是没有回显任何id,或者也许此消息已经回显,但是由于发送了重定向标头而从不呈现。
19 php  hooks  actions  save-post 


3
如何将自定义博客选项添加到新的博客设置表单?
看起来很简单,但是我很挣扎: 我想在“添加新站点”中添加一个选项字段。 一个简单的文本选项就可以了。我该怎么做呢? 创建网站时,我需要保存此自定义博客选项。 我知道我可以使用“ wpmu_new_blog”钩子,该钩子$meta使用提供的选项传递变量,但是我想知道是否有一种方法可以一步完成所有操作,因此我不必执行另一个数据库查询,或者更糟,覆盖/替换整个网站创建过程? 笔记: 我正在使用WP 3.3.1和MultiSite设置。我正在写一个插件,列出与指定的自定义字段值匹配的所有站点(我们称其为“类型”)。 另外,我是一位经验丰富的PHP开发人员,但是我对WordPress黑客还比较陌生,因此请假定我还不熟悉所有各种WP函数和挂钩。

5
随着时间的流逝,WP Cron无法执行
目标 我想用来wp_schedule_single_event( )执行一个事件,该事件在用户提交表单8分钟后向我发送了一封电子邮件。 问题 以下代码在my中functions.php: function nkapi_send_to_system( $args ) { wp_mail( 'xxx', 'xxx', $args ); } add_action( 'nkapi_send', 'nkapi_send_to_system' ); function schedule_event( $id ) { wp_schedule_single_event( current_time( 'timestamp' ) + 480, 'nkapi_send', array( $id ) ); } 下面的代码用于调用schedule-event: schedule_event( $_SESSION['insert_id'] ); // the $_SESSION var contains an INT 等待了8分钟以上后,我的收件箱中没有电子邮件。 我尝试了什么 …
16 hooks  array  wp-cron  cron  events 


1
WooCommerce:更改产品的简短描述和价格的显示顺序[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为WordPress Development Stack Exchange 的主题。 4年前关闭。 回覆: https://modestmix.com/shop/benefit-teas/go-the-fuck-to-sleep/ 我想将价格“ $ 4.99– $ 24.99”移动到产品简短说明“严重。请喝一杯这个……” 任何想法如何做到这一点?我已经有一个子主题,但是我不确定需要覆盖哪个WooCommerce文件。

2
为什么有些钩子在类上下文中不起作用?
我对此很困惑。我在插件类中使用add_action做某些事情-将脚本和样式添加到头部,wp_ajax等。这是__construct中的操作: function __construct(){ add_action('admin_menu', array($this, 'sph_admin_menu')); add_action('sph_header', array($this, 'sph_callback')); add_action('sph_header_items', array($this, 'sph_default_menu'), 1); add_action('sph_header_items', array($this, 'sph_searchform'), 2); add_action('sph_header_items', array($this, 'sph_social'), 3); //Below here they don't work. I have to call these outside of the class (but I need class variables within the functions) add_action('wp_print_styles', array(&$this, 'sph_stylesheets')); add_action('wp_print_scripts', array(&$this, 'sph_scripts')); add_action( …
16 hooks  actions  oop 

2
将Class方法注册为钩子回调
我不确定是否正确执行了此操作。 据我了解: 如果我有一个foo类和一个静态方法栏,则可以通过将数组array("foo","bar")作为函数名称传递来将其注册为回调。 如果我在$ foo中有一个类的实例,并且想调用方法栏,则可以传递array array($foo,'bar')。 如果我需要在类本身内部注册一个动作,它可以工作array($this,'bar')吗?
16 plugins  hooks  oop 

3
应该使用哪个钩子来添加包含重定向的操作?
我想构建一个从查询字符串中获取某些url参数的插件,以为同一页面构建一个新的查询字符串。我遵循的是《专业WordPress插件开发》这本出色的书,但是我不确定该操作使用哪个钩子。这是我的动作函数: add_action( 'init', 'tccl_redirect' ); function tccl_redirect() { header ( "Location: http://www.mysite.com/$mypage?$newparam=$newvalue" ); ?> 哪些挂钩适合头重定向?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.