编辑类别后使用类别名称更新帖子标题

时间:2014-03-13 作者:Marc

我在一些类别和帖子之间有这种关系,其中类别的名称也是帖子的名称。当我添加一个新类别时,会创建一个与该类别标题相同的帖子。现在,当我编辑其中一个类别标题时,我希望相应的帖子也自动更新其标题。以下是我所拥有的:

function update_group($post_id) {

    // get the category object
    $category = get_term_by( \'id\', $post_id, \'category\');

    // use the object to get your values
    $name = $category->name;

    $updates = array(
        \'ID\' => 996,
        \'post_title\' => $name
    );

    wp_update_post($updates);

}

add_filter(\'edit_category\' , \'update_group\' );
这段简单代码的问题是,当我获取类别名称时,我提交的新名称在edit\\u category运行时尚未保存,因此我第一次编辑类别时,wp\\u update\\u post会使用旧名称更新帖子。这意味着只有当我通过管理页面再次提交类别更改时,帖子才会得到新的正确名称。有办法解决这个问题吗?如何在第一次执行edit\\u category时获取Sumbited category名称?

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

我找到的解决方案是使用提交的类别标题的POST值,因此您总是得到您输入的内容,而不是之前保存的内容。像这样:

function update_group($post_id) {

    $updates = array(
        \'ID\' => 996,
        \'post_title\' => sanitize_text_field($_POST[\'name\'])
    );

    wp_update_post($updates);

}

add_filter(\'edit_category\' , \'update_group\' );

结束

相关推荐

Completely disable categories

有人知道有一个插件在WP中禁用了类别吗?我的意思是,对于现有用户和新用户,完全自动地从视图中隐藏该功能。特别是:WP admin菜单、帖子列表、它的屏幕选项和过滤器、帖子编辑器和它的屏幕选项、widgets屏幕、writing和permalink设置屏幕我遇到了各种老化的黑客来完成这一部分工作,其中大部分是用来禁用元框的代码和一些用来禁用permalink前缀的插件。我之所以选择这样做,是希望一些网页设计师或开发人员能够掌握整套功能。如果没有,在过去的3-4年中,是否会有新的API使过程变得更简单(我的W