Tag Info

Hot answers tagged

14

The follow small plugin create a custom buttom inside line 1 of the WordPress TinyMCE Version 4, tested in WP Version 3.9-beta2. The plugin have var_dump include to understand the values. It also possible to add the button to other lines of the visual editor, only a other hook, like for line 2: mce_buttons_2. Result Plugin, php side - tinymce4-test.php ...


9

The best way to do this is by adding 'user_can_richedit' filter, like so: add_filter( 'user_can_richedit', 'patrick_user_can_richedit'); function patrick_user_can_richedit($c) { global $post_type; if ('page' == $post_type) return false; return $c; } Hope it's useful ;)


8

Just wrote the function. It'll display the tinymce editor in every custom taxonomy description right now. Surely you can edit to show it for only some specific taxonomy. /** * Display advanced TinyMCE editor in taxonomy page */ function wpse_7156_enqueue_category() { global $pagenow, $current_screen; if( $pagenow == 'edit-tags.php' ) { ...


8

What happens is that TinyMCE converts every double line break in the HTML source to <p></p> and vice versa. It will actually strip away any <p/> you manually enter in the HTML source after you save, because when the post's content is rendered, <p> and </p> will be added. The auto-<p> replacement only works when you're ...


8

you can change lots of things about the tinyMCE editor at the tiny_mce_before_init filter. http://codex.wordpress.org/TinyMCE_Custom_Buttons the following will restrict your blockformats to p,h3,h4 and blockquote function wpa_45815($arr){ $arr['theme_advanced_blockformats'] = 'p,h3,h4,blockquote'; return $arr; } ...


8

You can: use 'wp_editor_settings' filter to set the '_content_editor_dfw' option to false. use 'mce_buttons' and 'teeny_mce_buttons' filters to: remove new distraction-free button, that has id: 'dfw' add the old distraction-free button that has the id: 'wp_fullscreen' use 'tiny_mce_plugins' and 'teeny_mce_plugins' filters to add the old plugin script, ...


7

For posts: add_action('init', 'my_custom_init'); function my_custom_init() { remove_post_type_support( 'post', 'editor' ); } See Codex. For custom post types that you register, you can specify what 'features' it supports when you register it it use the 'supports' arguments. For custom post types that are not registered by you can use the above with ...


7

Here is a nice and fairly new (a year old) tutorial i've read a few days ago http://www.garyc40.com/2010/03/how-to-make-shortcodes-user-friendly/ He as a great example and you cal also download the source files and get a better understanding.


6

add_action('init', 'remove_editor_init'); function remove_editor_init() { // if post not set, just return // fix when post not set, throws PHP's undefined index warning if (isset($_GET['post'])) { $post_id = $_GET['post']; } else if (isset($_POST['post_ID'])) { $post_id = $_POST['post_ID']; } else { return; } ...


6

There is a hook for that: 'mce_css'. It is called in _WP_Editors::editor_settings() and you get all loaded stylesheets comma separated as the first and only parameter. Now it is easy: Use the global variable $editor_styles (here are your theme’s and parent theme’s editor stylesheets stored already), add the time of the file’s last modification as a ...


5

Best solution for what you want to accomplish which is essentially to make the next page feature more user friendly for your authors is to add a TinyMCE button that will do this for you. This may be a bit complicated so hold your hat. To avoid this answer being the length of a thesis, I have added comments in all codes to help you understand what each ...


5

In your code, calling the action admin_init makes is_admin() unnecessary. And, if not mistaken, is_page() is meant to be used in the front-end... But the solution is the following (based on this Answer): add_filter( 'user_can_richedit', 'wpse_58501_page_can_richedit' ); function wpse_58501_page_can_richedit( $can ) { global $post; if ( 28 == ...


4

Quick guess would be: add_filter('content_save_pre', 'trim'); Add to functions.php of theme or wherever is appropriate in your site.


4

Try this: add_filter( 'wp_default_editor', 'rw_default_editor' ); function rw_default_editor( $type ) { global $post_type; if('page' == $post_type) return 'html'; return $type; }


4

The meta box order gets stored in the user meta and is basically an array of "priority" and meta box id. I didn't check if this meta key gets generated upon user setup or when the first manual reordering occurs. To see how this array looks, and how the native WP metaboxes IDs on a page (post, cpt) are, you can var_dump the following: ...


4

The WYSIWYG uses the .wp-editor-container class. So the easiest way would be to change this in your CSS. If your style is being overwritten then just add !important. .wp-editor-container { width:50%; // What ever size you want } the wp_editor() function also allows us to add a class to the textarea tag, I'm not sure if this might help you. Here's how ...


4

Background This issue revolves around the removal of empty <span></span> elements in TinyMCE when saving a post or switching between between the Visual and Text editor tabs. The problem is inherent to core functionality (as of trunk version 4.0-alpha-20140602) and is unchangeable via the standard WordPress APIs, as is mentioned in ticket #26986. ...


4

Actually you can include the editor-style.css (or any other stylesheet), just pass a "content_css" value to tinymce that points to a css file: wp_editor( $content, 'editablecontent', array( 'tinymce' => array( 'content_css' => get_stylesheet_directory_uri() . '/editor-styles.css' ) ); So the original ...


4

In extended toolbar view (Alt+Shift+Z), Pressing the "indent" button to a list or part of list would be make it one step more deeper


4

I cannot offer a JavaScript solution, because I am not sure where exactly this is happening. But … we can hook into wp_insert_post_data and solve this issue in PHP: add_filter( 'wp_insert_post_data', 't5_strip_double_spaces', 20 ); function t5_strip_double_spaces( $data ) { $data['post_content'] = preg_replace( "~( \x{C2}\x{A0}|\x{C2}\x{A0} ...


3

The answer is rather simple – you type them. :) When properly configured WP should be able to support Unicode characters for ⌘ and ⌥. Even when not you can fall back to numeric character references (&#8984; and &#8997; respectively). Windows key has no Unicode symbol and is typically abbreviated as Win. <kbd> HTML element is ...


3

And, if you'd like to have an actual icon button, then you can leverage dashicons, or your own icon font for it. Create a CSS file, and enqueue on the admin side; i.mce-i-pluginname:before { content: "\f164"; display: inline-block; -webkit-font-smoothing: antialiased; text-align: center; font: 400 20px/1 dashicons!important; speak: ...


3

Re answer cited by the OP: The custom_shortcuts flags mentioned was in tinymce 3.x (see here) but was removed from 4.x, and on scanning the source nothing equivalent seems to have been substituted. The foo function method mentioned can still be used. In your theme's "functions.php": add_action( 'wp_tiny_mce_init', function () { ?> ...


3

There is an add_meta_boxes function that fires that you can hook into - it fires whenever the edit post page is rendered. At that point, you can get the ID of the post being edited using get_the_ID(). You can then compare it to the ID for which you want to remove the post editor: function remove_pages_editor(){ if(get_the_ID() == 23) { ...


3

Here is an alternative, rather than removing the editors, they are simply hidden from use for anyone who is not an Administrator. I prefer hiding, rather than removing. I'm sure there are cases for both. //Hide New Post Options from all except Administrator function hide_post_page_options() { if ( !current_user_can( 'administrator' ) ) return; ...


3

I know exactly how you feel, and sadly this problem is rooted in the wordpress core code not in TinyMCE or due to browser compatility problems. I wrote a plugin that allows you to format html markup in the HTML editor, switch back and forth between it and the Visual tab without affecting the source code, and make changes in the Visual tab without breaking ...


3

Add to function.php add_filter('tiny_mce_before_init', 'tiny_mce_before_init'); And function tiny_mce_before_init: function tiny_mce_before_init($init) { $init['setup'] = "function(ed) { ed.onBeforeSetContent.add(function(ed, o) { if ( o.content.indexOf('<pre') != -1) { o.content = ...


3

The first issue is that add_editor_style() is usually called in Theme setup functions that get hooked into after_setup_theme - which is well before the query is set up and the post type determined. So, you'll need to move add_editor_style() to a separate callback, that gets called after the query is setup, but before TinyMCE is initialized. Perhaps ...


3

add_action('init', 'remove_editor_init'); function remove_editor_init() { remove_post_type_support('page', 'editor'); } You can wrap this inside your existing logic for detecting the current page template, so you only disable the editor for specific pages. See: http://codex.wordpress.org/Function_Reference/remove_post_type_support



Only top voted, non community-wiki answers of a minimum length are eligible