Hot answers tagged

20

The following small plugin creates a custom button inside line 1 of the WordPress TinyMCE Version 4, tested in WP Version 3.9-beta2. The plugin has var_dump included to understand the values. It's 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 - ...


14

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; } ...


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 ;)


9

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

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.


8

Edit As of WP 4.3 this won't work anymore. WP have completely removed the javascript for the old distraction-free mode. To use this in 4.3 versions, get a copy of javascript file from WP 4.2 release and enqueue it before using code below. You can: use 'wp_editor_settings' filter to set the '_content_editor_dfw' option to false. use 'mce_buttons' and ...


7

add_action( 'init', 'remove_editor_init' ); function remove_editor_init() { // If not in the admin, return. if ( ! is_admin() ) { return; } // Get the post ID on edit post with filter_input super global inspection. $current_post_id = filter_input( INPUT_GET, 'post', FILTER_SANITIZE_NUMBER_INT ); // Get the post ID on update ...


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 ...


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

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 == ...


5

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. ...


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 ...


4

http://www.laptoptips.ca/projects/category-description-editor/ this works very good. about adding another field, I'v tried @MikeSchinkel solution here Adding Fields to the Category, Tag and Custom Taxonomy Edit Screen in the WordPress Admin? and it works very good also.


4

It seems TinyMCE provides no easy setting to select a default value. But there is another backdoor: the external_link_list_url option of TinyMCE can point to an extra Javascript file that will be loaded in the link editor window. You can use it to populate a dropdown of frequent link destinations, but since it is a regular Javascript file we can also drop ...


4

Use the filter tiny_mce_before_init to customise the default configuration; function wpse_11867_tiny_mce( $config ) { $config['theme_advanced_path'] = false; return $config; } add_filter( 'tiny_mce_before_init', 'wpse_11867_tiny_mce' ); Check out all the options available on the Tiny MCE documentation.


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

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


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 had the exact same problem and found the solution to this. The problem is that the anchor plugin for TinyMCE is not being included as part of the default Wordpress install. So while Wordpress says to include: $buttons[] = 'anchor'; …that's not going to work because the TinyMCE plugin for anchors isn't there. If you go to TinyMCE's website, you can ...


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} ...


4

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 ...


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

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

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'd say make the button--but not for performance reasons. I think if you benchmark it, you'll find that any performance overhead added by running a simple function like this (one that does some simple string concat) is quite minimal. Or, at least, down to fractions of fractions of a second on a decent server. If you're under very high load, and are worried ...



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