2011-02-22 46 views
1

我已經有一個自定義元框爲我的網頁和帖子,從textarea添加自定義CSS。但是我真正想要的僅僅是一個適用於body標籤的HEX顏色代碼的輸入字體。自定義CSS與WordPress元框的

這是我有個大氣壓的代碼

add_action('admin_menu', 'custom_css_hooks'); 
add_action('save_post', 'save_custom_css'); 
add_action('wp_head','insert_custom_css'); 
function custom_css_hooks() { 
    add_meta_box('custom_css', 'Custom CSS', 'custom_css_input', 'post', 'normal', 'high'); 
    add_meta_box('custom_css', 'Custom CSS', 'custom_css_input', 'page', 'normal', 'high'); 
} 
function custom_css_input() { 
    global $post; 
    echo '<input type="hidden" name="custom_css_noncename" id="custom_css_noncename" value="'.wp_create_nonce('custom-css').'" />'; 
    echo '<textarea name="custom_css" id="custom_css" rows="5" cols="30" style="width:100%;">'.get_post_meta($post->ID,'_custom_css',true).'</textarea>'; 
} 
function save_custom_css($post_id) { 
    if (!wp_verify_nonce($_POST['custom_css_noncename'], 'custom-css')) return $post_id; 
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; 
    $custom_css = $_POST['custom_css']; 
    update_post_meta($post_id, '_custom_css', $custom_css); 
} 
function insert_custom_css() { 
    if (is_page() || is_single()) { 
     if (have_posts()) : while (have_posts()) : the_post(); 
      echo '<style type="text/css">'.get_post_meta(get_the_ID(), '_custom_css', true).'</style>'; 
     endwhile; endif; 
     rewind_posts(); 
    } 
} 

回答

0

如果你有這本事已經創建的實例時,您可以使用新的meta框複製它,並從該元框調用輸入標籤。

<?php function insert_custom_css2() { 
if (is_page() || is_single()) { 
    if (have_posts()) : while (have_posts()) : the_post();?> 

     <body style="color:<?php get_post_meta(get_the_ID(), '_custom_css2', true); ?>;"> 

<?php 
     endwhile; endif; rewind_posts(); 
    } 
}?> 

更改標籤的內嵌樣式要發送的十六進制(背景,顏色等),然後添加一個新的職位/頁

時只需要提供完整的十六進制值是什麼