获取帖子所在且刚从其中删除的类别

时间:2014-06-03 作者:Khalid Dabjan

我有一个连接到save\\u post挂钩的函数。此功能主要涉及职位所属的类别。我的函数执行以下操作:

function post_save_hook($post_id){
    $categories = get_the_category($post_id);
    foreach($categories as $category){
        //Handle this category
    }
}
假设我有一个名为featured, 在这个类别下发表了一篇文章。然后,同样的帖子被编辑并从网站上删除featured 类别,在这种情况下,我的函数不会检测到此更改。

所以我想知道的是,这篇文章是否属于某个类别,是否已从中删除。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

save_post runs too late 去做你想做的事。该钩子在存储post和相关元数据后激发。此时该类别已被删除,WordPress没有保留任何记录。

您可能需要更早地挂接到保存过程中pre_post_update:

add_action(
  \'pre_post_update\',
  function($post_ID,$data) {
    var_dump($post_ID,$data);
    var_dump(get_the_category($post_ID));
    die;
  },
  10,2
);
显然,仅限于概念验证代码。

结束

相关推荐

Cannot override hooks.php

我为网络黑猩猩的“反应主题”构建了一个儿童主题。我想换一个钩子。所以我想我需要钩子。我的孩子主题中的php文件。所以我从父母那里复制了它。我制定了相同的层次结构(我想这是正确的方法)。wp-content/[my_child_theme]/core/includes/hooks.php 将文件复制到主题根目录没有帮助。我还试图重新创建这个关键钩子。我把代码放在子函数中。php文件,但它也不起作用,因为挂钩发生在主题内容之后(只是我的asumtion)。所以问题很简单:如何覆盖父主题的挂钩。php