Posted By

Kerrick on 01/07/10


Tagged

css wordpress functions-php


Versions (?)

Who likes this?

4 people have marked this snippet as a favorite

Kerrick
scitrenbaumgmailcom
maxvee8
BrianCoyDesign


Custom CSS Per Page and Post for WordPress


 / Published in: PHP
 

URL: http://www.kerricklong.com/

Insert this code into your functions.php and you'll get a custom CSS box on every page and post. Be sure your theme has wp_head(); in it.

  1. //Custom CSS Widget
  2. add_action('admin_menu', 'custom_css_hooks');
  3. add_action('save_post', 'save_custom_css');
  4. add_action('wp_head','insert_custom_css');
  5. function custom_css_hooks() {
  6. add_meta_box('custom_css', 'Custom CSS', 'custom_css_input', 'post', 'normal', 'high');
  7. add_meta_box('custom_css', 'Custom CSS', 'custom_css_input', 'page', 'normal', 'high');
  8. }
  9. function custom_css_input() {
  10. global $post;
  11. echo '<input type="hidden" name="custom_css_noncename" id="custom_css_noncename" value="'.wp_create_nonce('custom-css').'" />';
  12. echo '<textarea name="custom_css" id="custom_css" rows="5" cols="30" style="width:100%;">'.get_post_meta($post->ID,'_custom_css',true).'</textarea>';
  13. }
  14. function save_custom_css($post_id) {
  15. if (!wp_verify_nonce($_POST['custom_css_noncename'], 'custom-css')) return $post_id;
  16. if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id;
  17. $custom_css = $_POST['custom_css'];
  18. update_post_meta($post_id, '_custom_css', $custom_css);
  19. }
  20. function insert_custom_css() {
  21. if (is_page() || is_single()){
  22. if (have_posts()) : while (have_posts()) : the_post();
  23. echo '<style type="text/css">'.get_post_meta(get_the_ID(), '_custom_css', true).'</style>';
  24. endwhile; endif;
  25. rewind_posts();
  26. }
  27. }

Report this snippet  

Comments

RSS Icon Subscribe to comments
Posted By: moondog on April 15, 2010

You say: Be sure your theme has wp_head(); in it. Where should i find this... or where can I place this?

Thanks JFK

Posted By: moondog on April 15, 2010

You say: Be sure your theme has wp_head(); in it. Where should i find this... or where can I place this?

Thanks JFK

Posted By: Kerrick on June 16, 2010

wp_head(); should be in your header.php file.

Posted By: fendichen on October 7, 2010

hi friend, do you know cheap ghd, cheap mbt shoes, christian louboutin shoes hot sell online recently?

we are china wholesaler company, offer good quality nike dunks, ghd mk4, cheap soccer jerseys online, cheap jerseys online enjoy much discount.cheap nike dunks,nike shox why are you hestitate, welcome for retail, dropship, and wholesale orders.

You need to login to post a comment.