如果选中复选框则自动添加标签

时间:2015-08-26 作者:David

我正在寻找一个简单的功能,如果选中复选框,可以自动将特定标记添加到帖子中。

例如:创建帖子时,有一个复选框,上面写着:

“将示例标记添加到帖子”

如果您选中它,帖子将被赋予一个“示例”标签。

我设置了复选框,只是在选中时添加了标签,这给我带来了一些困难。

以下是导致问题的子主题函数文件中的函数:

<小时>

add_action( \'wp_set_object_terms\' , \'add_example_tag\');

function add_example_tag() {
     global $post;

$example = get_post_meta( $post->ID, \'_example\', true );
  if ( $example ) {
wp_set_post_tags(\'example\', true );
}
}
非常感谢您的帮助。

干杯

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

如果我知道你想要什么,我会在save\\u post挂钩上称之为:https://codex.wordpress.org/Plugin_API/Action_Reference/save_post

所以代码有点像:

    function wphuyeh8_save_post_tag( $post_id, $post, $update ) {
    // If example is set and not false
    if($_REQUEST[\'_example\']):
        // set the tag
            wp_set_post_tags( $post_ID, \'example\', true );
    else:
        // remove the tag if the checkbox is not checked
            wp_remove_object_terms( $post_id, \'example\', \'post_tag\' );
    endif;
}
add_action( \'save_post\', \'wphuyeh8_save_post_tag\', 10, 3 );
虽然这是未经测试的,但再看一眼,它会尝试删除每个帖子保存上的标记,除非选中它,因此您可能需要添加一些对帖子类型或其他内容的检查。

相关推荐

get_the_tags doesn't works?

我正在创建一个插件,用户将在其中提交他们的电子邮件地址和喜爱的标签。发布新帖子时,如果帖子具有与用户最喜爱的标签类似的标签,则会向用户发送电子邮件。为此,我需要将新的贴子标签与用户最喜欢的标签进行比较。根据其定义get_the_tags($postId) 应返回post_tags 但是没有。我不知道该怎么办!add_action(\'publish_post\', array( $myClass ,\'wp_send_emailToUser\' ), 10, 2); class customFun