在发布帖子之前将类别保存到帖子

时间:2013-01-08 作者:Cody

我已经从仪表板创建了一个链接,该链接用于添加新帖子,但已经为帖子选择了一个类别-但在发布之前,帖子将不属于此类别-这是一个问题,因为我有一些自定义字段,我已将其分配给该类别,并且在发布帖子之前,这些字段将不可见。

有没有一种方法可以在发布之前将一个类别添加到一篇文章中,从而使我正在努力实现的目标成为可能?

1 个回复
SO网友:Pontus Abrahamsson

您可以使用该功能wp_set_post_terms 在发布帖子之前设置类别。您需要通过调用全局变量来获取post\\u id$post 然后拿到身份证$post->ID.

这里有一个简单的例子。将id(2)更改为所需类别的id。

function wpse_78701_add_category_before_post() {
    global $post;
    if( $post->ID ) {
        wp_set_post_terms( $post->ID, 2, \'category\' );
    }
}
add_action(\'admin_head\', \'wpse_78701_add_category_before_post\');

Update

如果要更改用户单击链接时将保存的类别,则必须添加以下内容?cat=2 在仪表板上,如下链接:

echo \'<a href="post-new.php?cat=1">\'. __(\'Add new post in category X\', \'theme\') .\'</a>\';
然后你可以得到bu使用的类别$_GET[\'cat\']; 像这样:

function wpse_78701_add_category_before_post() {
    global $post;

    // Get category-ID from the link in dashboard (cat=X)
    $category = ( isset( $_GET[\'cat\'] ) ? $_GET[\'cat\'] : \'\' );

    if( isset( $post ) && $post->ID ) {
        wp_set_post_terms( $post->ID, $category, \'category\' );
    }
}
add_action(\'admin_head\', \'wpse_78701_add_category_before_post\');

结束

相关推荐

如何从wp_Dropdown_Categories获取类别插件

我正在自定义一个插件。我需要它来显示层次结构中的类别列表,这是我使用插件的所有功能得到的。我正在使用wp_dropdown_categories, 但我想将类别列表显示为它们的slug,而不是它们的类别名称。有什么建议吗?以下是我目前掌握的情况:function replace_id_for_slug( $option ) { $categories = get_categories( \"hide_empty=0\" ); preg_match( \'/value=\"(