plugin - Cómo agregar el editor wysiwyg en la caja meta de Wordpress
meta tags wordpress plugin (8)
Estoy creando un cuadro de meta para mi tipo de mensaje personalizado. Hay varios campos en los que me gustaría usar el editor wysiwyg en lugar de <textarea>
. ¿Es posible agregar varios editores a un meta box?
¡Realmente agradecería su ayuda!
Muchas gracias. Dasha
Aquí está el ejemplo de código completo:
add_action( ''add_meta_boxes'', function() {
add_meta_box(''html_myid_61_section'', ''TITLEEEEE'', ''my_output_function'');
});
function my_output_function( $post ) {
$text= get_post_meta($post, ''SMTH_METANAME'' , true );
wp_editor( htmlspecialchars_decode($text), ''mettaabox_ID'', $settings = array(''textarea_name''=>''MyInputNAME'') );
}
add_action( ''save_post'', function($post_id) {
if (!empty($_POST[''MyInputNAME''])) {
$datta=htmlspecialchars($_POST[''MyInputNAME'']); //make sanitization more strict !!
update_post_meta($post_id, ''SMTH_METANAME'', $datta );
}
});
PS MUST-Recomendación de mi experiencia:
Olvídese de agregar códigos personalizados, use Campos personalizados avanzados , es excelente y simplifique su vida.
Esto hizo el truco para mí:
http://www.farinspace.com/multiple-wordpress-wysiwyg-visual-editors/
Básicamente, está creando su área de texto con una identificación y luego llamando desde js:
tinyMCE.execCommand(''mceAddControl'', false, ''your_textarea_id'');
¡Espero eso ayude!
Pero debe reemplazar la presentación con la función nl2br (), ya que las áreas de texto en las plantillas personalizadas tienen el problema de toogle JS, que elimina todas las etiquetas <P>
y <br/>
y, por lo tanto, todos los saltos de línea.
Primero instala el complemento TinyMCE Advanced. Segundo agrega la clase "theEditor" a tu área de texto como esta
<textarea class="theEditor" name="custom_meta_box"></textarea>
Eso es ;)
Nabeel
Pruebe el complemento de plantilla de campo personalizado http://wordpress.org/extend/plugins/custom-field-template/
Puedes usar el editor de texto predeterminado de wordpress en el metabox usando
add_action( ''edit_page_form'', ''my_second_editor'' );
function my_second_editor() {
// get and set $content somehow...
wp_editor( $content, ''mysecondeditor'' );
}
http://codex.wordpress.org/Function_Reference/wp_editor fue por lejos el método más fácil que encontré, integrado en Wordpress desde la versión 3.3 (así que actualice ;-))
// for custom post type
function wo_second_editor($post) {
echo "<h3>Write here your text for the blue box on the right:</h3>";
$content = get_post_meta($post->ID, ''wo_blue_box'' , true ) ;
wp_editor( htmlspecialchars_decode($content), ''wo_blue_box'', array("media_buttons" => false) );
}
add_action(''edit_form_advanced'', ''wo_second_editor'');
function wo_save_postdata($post_id, $post, $update) {
//...
if (!empty($_POST[''wo_blue_box''])) {
$data=htmlspecialchars($_POST[''wo_blue_box'']);
update_post_meta($post_id, ''wo_blue_box'', $data );
}
}
add_action(''save_post'', ''wo_save_postdata'');
// Theme:
<div class="blue">
<?php
$content = get_post_meta(get_the_ID(), ''wo_blue_box'' , true );
$content = htmlspecialchars_decode($content);
$content = wpautop( $content );
echo $content;
?>
</div>