在发布草稿或发布时创建自定义域?

时间:2014-12-26 作者:Advanced SEO

如何在发布草稿或发布时使用几个提供的值之一自动创建自定义字段?例如,我希望创建名为“random\\u color”的自定义字段,其中包含一个潜在值:“白色”、“绿色”、“蓝色”。。。

任何一个值都是可以接受的,那么如何创建函数,在发布草稿或发布时使用其中一个值(从定义中随机选择)创建发布自定义字段呢?

我发现了这个,它正在工作,它在post draft上创建了“random\\u color”自定义字段,值为“blue”。如何使其随机选择其他值之一,如白色、绿色?

add_action(\'draft_post\', \'add_custom_field\');
function add_custom_field($post_ID) {
    global $wpdb;
    if(!wp_is_post_revision($post_ID)) {
        add_post_meta($post_ID, \'random_color\', \'blue\', true);
    }
}

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

添加数组并choose one for the value.

add_action(\'draft_post\', \'add_custom_field\');
function add_custom_field($post_ID) {
    global $wpdb;
    if(!wp_is_post_revision($post_ID)) {

        $colors = array(\'white\', \'green\', \'blue\');

        add_post_meta($post_ID, \'random_color\', $colors[array_rand($colors, 1)], true);
    }
}

SO网友:Rarst

wp_transition_post_status() is catch–状态更改的所有功能。你可以在里面用一个钩子(transition_post_status 或动态的),以针对特定的状态条件并相应地运行代码。

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在