¿Cómo hacer que el meta wp_editor personalizado del post sea traducible?

2

Tengo un tipo de publicación personalizado llamado soto_property en el que he agregado tres wp_editor como meta de la publicación, usando este código -

 wp_editor( htmlspecialchars_decode($valueeee1),
               'propertyEditor1',
               $settings = array('textarea_name'=>'detail',
                                 'editor_class'=>'propertyEditor')
              );

    wp_editor( htmlspecialchars_decode($valueeee2),
               'propertyEditor2',
               $settings = array('textarea_name'=>'features',
                                 'editor_class'=>'propertyEditor')
              );

    wp_editor( htmlspecialchars_decode($valueeee3),
               'propertyEditor3',
               $settings = array('textarea_name'=>'text_to_pdf',
                                 'editor_class'=>'propertyEditor')
              );

Ahora he instalado el complemento qtranslate para hacer que mi sitio sea multilingüe. Este complemento agrega automáticamente la pestaña Idioma en su editor de contenido predeterminado. También quiero agregar estas pestañas de idiomas en mi editor personalizado, para que pueda guardar el contenido en idiomas definidos.

¿Cómo puedo hacer esto? Por favor, ayúdame.

    
pregunta shashank 23.02.2015 - 15:57

3 respuestas

3

se ve como ya respondió aquí en stackexchange (forma muy detallada) , como primero puedes probar:

add_filter('soto_property','qtrans_convertURL');

De todos modos, eche un vistazo aquí en qtranslate slug plugin , por lo general, ahorra toneladas de problemas. Y una pequeña nota: si fuera usted, sería mejor que utilizara mqTranslate (que se basa en qTranslate, pero es compatible con la última versión de WP)

    
respondido por el kybernaut.cz 23.02.2015 - 16:11
1

He hecho el tipo de publicación personalizada con varios editores de contenido listos para traducir, he usado Este complemento de Metabox para agregar el meta box, este complemento le permite crear múltiples meta box según los requisitos del tema, para lograr sus requisitos, primero instale este complemento Aquí está el enlace Luego agregue el código de la siguiente manera en sus funciones.php o en un archivo separado y luego incluya a functions.php

global $meta_boxes;
$meta_boxes   = array();

$meta_boxes[] = array(

    'id' => 'standard',
    'title' => __( 'Simple Editors', 'your-languge-key' ),
    'pages' => array( 'your-post-type' ),
    'context' => 'normal',
    'priority' => 'high',
    'autosave' => true,
    'fields' => array(
        array(
                'name' => __( 'Simple Editor', 'your-languge-key' ),
                'id'   => "{$prefix}home-bottom-content",
                'type' => 'wysiwyg',
                // Set the 'raw' parameter to TRUE to prevent data being passed through wpautop() on save
                'raw'  => true,
                'std'  => __( 'WYSIWYG default value', 'your-languge-key' ),

                // Editor settings, see wp_editor() function: look4wp.com/wp_editor
                'options' => array(
                    'textarea_rows' => 4, 
                    'teeny'         => true,
                    'media_buttons' => false, // mediabuttons to editor
                ),
            ),
    ),

);
/**
 * Register meta boxes
 *
 * @return void
 */
function rw_register_meta_boxes()
{
    global $meta_boxes;

    // Make sure there's no errors when the plugin is deactivated or during upgrade
    if ( class_exists( 'RW_Meta_Box' ) ) {
        foreach ( $meta_boxes as $meta_box ) {
            if ( isset( $meta_box['only_on'] ) && ! rw_maybe_include( $meta_box['only_on'] ) ) {
                continue;
            }

            new RW_Meta_Box( $meta_box );
        }
    }
}

add_action( 'admin_init', 'rw_register_meta_boxes' );

/**
 * Check if meta boxes is included
 *
 * @return bool
 */
function rw_maybe_include( $conditions ) {
    // Include in back-end only
    if ( ! defined( 'WP_ADMIN' ) || ! WP_ADMIN ) {
        return false;
    }

    // Always include for ajax
    if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
        return true;
    }

    if ( isset( $_GET['post'] ) ) {
        $post_id = intval( $_GET['post'] );
    }
    elseif ( isset( $_POST['post_ID'] ) ) {
        $post_id = intval( $_POST['post_ID'] );
    }
    else {
        $post_id = false;
    }

    $post_id = (int) $post_id;
    $post    = get_post( $post_id );

    foreach ( $conditions as $cond => $v ) {
        // Catch non-arrays too
        if ( ! is_array( $v ) ) {
            $v = array( $v );
        }

        switch ( $cond ) {
            case 'id':
                if ( in_array( $post_id, $v ) ) {
                    return true;
                }
            break;
            case 'parent':
                $post_parent = $post->post_parent;
                if ( in_array( $post_parent, $v ) ) {
                    return true;
                }
            break;
            case 'slug':
                $post_slug = $post->post_name;
                if ( in_array( $post_slug, $v ) ) {
                    return true;
                }
            break;
            case 'category': //post must be saved or published first
                $categories = get_the_category( $post->ID );
                $catslugs = array();
                foreach ( $categories as $category )
                {
                    array_push( $catslugs, $category->slug );
                }
                if ( array_intersect( $catslugs, $v ) )
                {
                    return true;
                }
            break;
            case 'template':
                $template = get_post_meta( $post_id, '_wp_page_template', true );
                if ( in_array( $template, $v ) )
                {
                    return true;
                }
            break;
        }
    }

    // If no condition matched
    return false;
}

Aquí solo he agregado un editor, puede agregar el número de editores reutilizando el editor archivado. Espero que esto sea resolver su problema. buena suerte!

    
respondido por el dazunE 02.03.2015 - 06:16
0

Resuelto!

He utilizado el complemento qranslate-x que hace que mi wp_editor personalizado sea traducible en mi página de tipo de publicación personalizada.

    
respondido por el shashank 04.06.2015 - 14:38

Lea otras preguntas en las etiquetas