Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress添加\发布\元和全局颜色数组_Wordpress - Fatal编程技术网

Wordpress添加\发布\元和全局颜色数组

Wordpress添加\发布\元和全局颜色数组,wordpress,Wordpress,我想为每个新帖子添加一个自定义css类(背景色)。为此,我添加了一个带有add_post_数据的自定义字段,并在每次生成新帖子时运行该函数 我有一个数组,其中css颜色类被定义为“蓝色”、“浅绿色”、“深紫色”等 这一切都很好,只是我不知道在生成新帖子时如何分配数组中的下一个颜色值 此外,当使用最后一种颜色时,阵列将从第一个位置重新开始。 你有没有办法做到这一点 这个函数如何知道下一个颜色是什么?它需要浏览上一篇文章吗 在functions.php中: // Define color on ea

我想为每个新帖子添加一个自定义css类(背景色)。为此,我添加了一个带有add_post_数据的自定义字段,并在每次生成新帖子时运行该函数

我有一个数组,其中css颜色类被定义为“蓝色”、“浅绿色”、“深紫色”等

这一切都很好,只是我不知道在生成新帖子时如何分配数组中的下一个颜色值

此外,当使用最后一种颜色时,阵列将从第一个位置重新开始。 你有没有办法做到这一点

这个函数如何知道下一个颜色是什么?它需要浏览上一篇文章吗

在functions.php中:

// Define color on each new post
function set_post_color($post_ID){
    $colors = array('blue','aqua','dark-purple','red','orange','yellow','light-green','dusty-blue','bright-pink','dark-green','dusty-purple');
    $current_field_value = get_post_meta($post_ID, 'css-color-class', true);
    $value = (string)rand(0, 100); // this should be the next color in the color array

    // Only add field if it does not already exist and the post is not a revision
    if($current_field_value == '' && !wp_is_post_revision($post_ID)){
        add_post_meta($post_ID, 'css-color-class', $value, true);
    }

    return $post_ID;
}

// Hook up the function
add_action('wp_insert_post', 'set_post_color');

您有两个选项,在DB中查找分配给上一篇插入文章的颜色,然后选择新文章的下一种颜色,或者您可以使用需要分配的下一种颜色维护一个选项

这样做的缺点是,您需要手动维护实现的该值,但您可以使用默认功能获取、添加和更新选项:


这正是我所需要的。事实上,我忽略了DB选项表。谢谢