1. December 2012
von Blackbam
As it is happens quite often that the rich editor of WordPress is a barrier concerning posts including difficult HTML, I wrote a Plugin. I am planning to release an improved version to the WordPress Plugin repository soon, but I think this works quite well for now:  
// Deactivate Visual Editor if option is set
add_action('pre_get_posts', 'deactivate_visual_editor');

function deactivate_visual_editor() {
  global $wp_rich_edit;
  $post_id = $_GET['post'];
 
  $value = get_post_meta($post_id, 'deactivate_visual_editor', true);
  if($value == 1)
    $wp_rich_edit = false;
}


// create a box for each post / page
function cis_init(){
 add_meta_box("cis_post_settings", __("Details",TEXTDOMAIN), "cis_post_settings", "page", "normal", "high");
 add_meta_box("cis_post_settings", __("Details",TEXTDOMAIN), "cis_post_settings", "post", "normal", "high");
}

function cis_post_settings() {
    global $post;
    $custom = get_post_custom($post->ID);
 
 // maybe we want to automatize this?
?>
 <div class="inside">
  <table class="form-table" class="customEditor">
   <tr>
    <th><label for="deactivate_visual_editor">Deactivate visual editor?</label></th>
    <td>
     <input type="checkbox" name="deactivate_visual_editor" value="1" <?php if($custom["deactivate_visual_editor"][0]==1) {?>checked="checked"<?php } ?> />
    </td>
   </tr>
  </table>
 </div>
<?php
}

function save_cis_post(){
 global $post;
 
 if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) {
  return $post_id;
 }
 if($post->post_type == "post" || $post->post_type == "page") {
  update_post_meta($post->ID, "deactivate_visual_editor", intval($_POST["deactivate_visual_editor"]));
 
 }
}
Share

Dieser Eintrag wurde am 1. December 2012 um 21:21 in der Kategorie Plugins, WordPress, WP Scripts veröffentlicht. You can book the comments for this article RSS 2.0. Feedback, discussion, commendation and critics are welcome: Write a comment or trackback.


Tags: , , ,

No comments yet

Kommentare abonnieren (RSS) or URL Trackback

Leave a comment:

Current day month ye@r *