如何更改我的所有帖子的背景颜色

时间:2017-09-05 作者:Bhu

我使用的唯一主题是为任何帖子提供白色背景。如何添加帖子背景色。管理员可以更改帖子的背景色。我曾尝试安装一些插件,但没有成功。如何在帖子中添加垂直滚动滑块。请帮忙。

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

将此代码添加到主题中functions.php

function post_color_get_meta( $value ) {
    global $post;

    $field = get_post_meta( $post->ID, $value, true );
    if ( ! empty( $field ) ) {
        return is_array( $field ) ? stripslashes_deep( $field ) : stripslashes( wp_kses_decode_entities( $field ) );
    } else {
        return false;
    }
}

function post_color_add_meta_box() {
    add_meta_box(
        \'post_color-post-color\',
        __( \'post_color\', \'post_color\' ),
        \'post_color_html\',
        \'post\',//<- you can put custom post type name here//
        \'normal\',
        \'default\'
    );
}
add_action( \'add_meta_boxes\', \'post_color_add_meta_box\' );

function post_color_html( $post) {
    wp_nonce_field( \'_post_color_nonce\', \'post_color_nonce\' ); ?>

    <p>Change post background color</p>

    <p>
        <label for="post_color_select_color"><?php _e( \'select color\', \'post_color\' ); ?></label><br>
        <input type="color" name="post_color_select_color" id="post_color_select_color" value="<?php echo post_color_get_meta( \'post_color_select_color\' ); ?>">
    </p><?php
}

function post_color_save( $post_id ) {
    if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) return;
    if ( ! isset( $_POST[\'post_color_nonce\'] ) || ! wp_verify_nonce( $_POST[\'post_color_nonce\'], \'_post_color_nonce\' ) ) return;
    if ( ! current_user_can( \'edit_post\', $post_id ) ) return;

    if ( isset( $_POST[\'post_color_select_color\'] ) )
        update_post_meta( $post_id, \'post_color_select_color\', esc_attr( $_POST[\'post_color_select_color\'] ) );
}
add_action( \'save_post\', \'post_color_save\' );
将此添加到需要颜色的位置:

<div style="background-color:<?php echo post_color_get_meta( \'post_color_select_color\' ); ?>">
//content//
</div>

结束