Php 控制邮寄日期

Php 控制邮寄日期,php,wordpress,hook,sticky,Php,Wordpress,Hook,Sticky,当我在后端粘贴帖子时,我希望它添加一个meta_键和meta_值。换句话说,为了控制帖子被标记为粘性的日期,我想添加一个meta_键likedate和一个meta_值likedate('m/d/Y H:I:s') 我认为使用hook和添加操作是可能的,但我不知道如何实现。有什么方法可以做到这一点吗?让帖子变粘实际上是在WordPress后台更新博客选项: update_option('sticky_posts', $stickies); (see core in wp-includes/post

当我在后端粘贴帖子时,我希望它添加一个
meta_键
meta_值
。换句话说,为了控制帖子被标记为粘性的日期,我想添加一个
meta_键
like
date
和一个
meta_值
like
date('m/d/Y H:I:s')


我认为使用hook和
添加操作是可能的,但我不知道如何实现。有什么方法可以做到这一点吗?

让帖子变粘实际上是在WordPress后台更新博客选项:

update_option('sticky_posts', $stickies); (see core in wp-includes/post.php)
因此,您的钩子可以是pre_update_option_sticky_posts(前缀pre_update_option_+选项名称),如下所示:

add_action( 'pre_update_option_sticky_posts', 'my_function' );
function my_function( $post_id ) { 
Your code here to save the custom field values
}

如果我在我的functions.php文件中添加此操作,并使用一个空的“my_function”,然后尝试从后端粘贴帖子,显然可以保存帖子,但该帖子不会被粘贴。。。有什么解决方案吗?自从WordPress 3.4以来,这个钩子似乎已经被弃用了(尽管它仍然可以用作过滤器钩子)。我现在有点太忙了,没有时间深入研究这个问题,但这确实是一个方法:找到在将帖子保存为sticky时触发的适当钩子,并在这个钩子中执行meta_键/meta_值。如果包含适当的测试以查看帖子是否已经粘滞,那么只需使用edit_post挂钩:
add_操作('edit_post','my_函数');函数my_function($post_ID){//action here}
我想做以下事情:如果帖子是粘性的,然后是非粘性的,我的函数应该删除日期信息。相反,如果帖子不是粘性的,我会粘贴它,然后添加日期信息元键。根据你的回答,我已经这样做了,它可以工作:
add_action('edit_post','sticky_mod');函数sticky_mod($post_id){$expiring=date('m/d/Y H:i:s');if(!is_sticky($post_id)){add_post_meta($post_id,'date',$expiring,true);}否则{delete_post_meta($post_id,'date');}
。唯一的问题是,每次我保存帖子时都会运行此操作,如果没有触摸到粘性的话也是如此。然而,它是有效的。