1

http://codex.wordpress.org/Plugin_API/Action_Reference/save_post

为什么 Wordpress 没有包含$post$post_ID参数及其功能。我只有在查看源代码时才意识到这些参数存在,这些参数实际上是做什么的?你不认为他们需要在动作钩子引用中包含每个参数,以便我们可以将动作分配给钩子

4

2 回答 2

1

$post保存正在保存的帖子对象。 $post_ID保存正在保存的帖子的 ID。

拨打电话时,您可以在回调函数中获取这些参数add_action

例子

add_action( 'save_post', 'my_save_function', 10, 2 );

10 代表优先级 - 10 是默认值,数字越小,优先级越高(即运行越早)。

最后一个参数中的“2”是传递给回调的参数数量。默认值为 1,但正如您所说,此处可以有 2 个参数,因此您可以提高值以获取它们,如果它们都需要的话。

function my_save_function( $post, $post_ID ) {

   // Do stuff here.

}

有许多带有可变数量参数的操作/过滤器是隐式未知的,因此这样做可以使代码更加灵活。

回答为什么它不包含在保存回调中 - 在那种情况下不需要它。该$post对象提供了一种访问 ID 的简单方法。您可能希望将它包含在您自己的钩子中 - 也许如果您出于某种原因更改对象,但实际上有无限的可能性。

最好做你已经做过的事情并检查核心是否有这样的事情,了解核心是什么,使使用 WordPress 进行开发变得更加容易:)

于 2013-08-20T08:56:58.813 回答
0
class myObj {
 function on_save_post($post_ID, $post)
 {
  // process here
 }
}
add_action('save_post', array('myObj', 'on_save_post'));

此类myObj的位置是您将拥有所需的所有参数,因此您可以在save_post中传递所需的所有变量

于 2015-01-04T16:12:42.503 回答