2014-09-27 84 views
0

我有一个博客,我每天都会发布很多帖子。许多帖子使用10个常用标签中的5个。而不是每次写出每个标签,我宁愿取消选中一些我不需要的标签(然后添加任何新的或不常见的标签)。自动添加一组标签到新的WordPress的帖子

所以,我正在寻找编辑我的functions.php文件,以便任何新的帖子已经有一个列表中的10个标签。而且,如果标签已经存在,不要做任何事情。如果可能,我想避免使用插件。

任何人都知道如何做到这一点?这将非常有用。

的代码看起来是这样的: (注:我的编程技能是可怕的,所以这可能不是正确的,甚至是不可能的)

function default_tag_list() { 
    if(new_post() && !get_the_tag_list()) { // using new_post() ... not sure how to check if its a new post. 
     $default_tags = array('health', 'nutrition', 'diet', 'well-being', 'eating'); 
     return $default_tags; 
    } // Then, somehow get the get_tag_list in the administration to use the default tags function (if it's a new post without any tags) ... 
} 

}

回答

0

只需复制并粘贴下面代码在你的function.php:

function my_data_update() { 
    GLOBAL $post; 
    wp_set_post_tags($post->ID, 'health, nutrition, diet, well-being, eating', true); 
} 
add_action('publish_post', 'my_data_update'); 
add_action('save_post', 'my_data_update'); 

这个代码一定会为你工作,因为它被测试。

+0

这有效,但缺少一些我需要的功能。首先,该功能将标签添加到您发布的每个帖子。如果需要,我希望能够删除标签(所以,如果我创建了一个帖子并删除了一些标签,它们会在再次发布时重新添加到帖子中)。 其次,当您创建新帖子时,新的标签没有在编辑页面上列出...您需要点击PUBLISH。即使如此,它并没有显示在更新后的编辑页面上。你必须离开编辑页面,然后回到它,然后标签在那里。 – Jabbamonkey 2014-10-08 19:52:16

+0

只需删除最后一行代码: add_action('save_post','my_data_update');它会解决你的第一个问题。现在为您的第二个问题,我们需要发布帖子来添加标签并刷新页面以观看它们添加。不要担心它们会在您点击发布按钮时添加。 – WpTricks24 2014-10-09 06:00:56

+0

我摆脱了最后一行...但它仍然加回到我删除的任何标签中。 – Jabbamonkey 2014-10-09 14:41:08

相关问题