Wordpress添加\发布\元和全局颜色数组
我想为每个新帖子添加一个自定义css类(背景色)。为此,我添加了一个带有add_post_数据的自定义字段,并在每次生成新帖子时运行该函数 我有一个数组,其中css颜色类被定义为“蓝色”、“浅绿色”、“深紫色”等 这一切都很好,只是我不知道在生成新帖子时如何分配数组中的下一个颜色值 此外,当使用最后一种颜色时,阵列将从第一个位置重新开始。 你有没有办法做到这一点 这个函数如何知道下一个颜色是什么?它需要浏览上一篇文章吗 在functions.php中:Wordpress添加\发布\元和全局颜色数组,wordpress,Wordpress,我想为每个新帖子添加一个自定义css类(背景色)。为此,我添加了一个带有add_post_数据的自定义字段,并在每次生成新帖子时运行该函数 我有一个数组,其中css颜色类被定义为“蓝色”、“浅绿色”、“深紫色”等 这一切都很好,只是我不知道在生成新帖子时如何分配数组中的下一个颜色值 此外,当使用最后一种颜色时,阵列将从第一个位置重新开始。 你有没有办法做到这一点 这个函数如何知道下一个颜色是什么?它需要浏览上一篇文章吗 在functions.php中: // Define color on ea
// 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中查找分配给上一篇插入文章的颜色,然后选择新文章的下一种颜色,或者您可以使用需要分配的下一种颜色维护一个选项 这样做的缺点是,您需要手动维护实现的该值,但您可以使用默认功能获取、添加和更新选项: