web-dev-qa-db-fra.com

Utiliser des shortcodes dans une métabox personnalisée en utilisant wp_editor?

J'ai actuellement un certain nombre de métaboxes personnalisées, chacune ressemblant beaucoup à ceci:

/* -----------------------------------------------------------
# Team Information
----------------------------------------------------------- */
add_action( 'add_meta_boxes', 'team_information_metabox' );              
function team_information_metabox() 
    {   
        add_meta_box('team_information', 'Team Information', 'team_information_output', 'page', 'normal', 'high');
    }

function team_information_output( $post ) 
    {
    //so, dont ned to use esc_attr in front of get_post_meta
    $team_information_value=  get_post_meta($_GET['post'], 'team_information' , true ) ;
    wp_editor( $team_information_value, 'team-information', $settings = array('textarea_name'=>'team-information') );
    }


function save_team_information( $post_id ) 
{                   
    if (!empty($_POST['team-information']))
        {
        $data=$_POST['team-information'];
        update_post_meta($post_id, 'team_information', $data );
        }
}
add_action( 'save_post', 'save_team_information' );

Et je les affiche sur une page comme celle-ci:

$team_information_value = get_post_meta( get_the_ID(), 'team_information', true );

        // Checks and displays the retrieved value
        if( !empty( $team_information_value ) ) {
            echo $team_information_value;
        } else {
            echo 'Value Not Fount or Empty';

    }

Pour une raison quelconque, les codes abrégés ne fonctionnent pas lorsque je le fais, comment puis-je en tirer une fonctionnalité?

1
Trenton Moore

Deviner:

$ team_information_value = get_post_meta (get_the_ID (), 'team_information', true);

    // Checks and displays the retrieved value
    if( !empty( $team_information_value ) ) {
        echo do_shortcode($team_information_value);
    } else {
        echo 'Value Not Fount or Empty';

}

Placez la valeur affichée (dans ce cas, $ team_information_value) dans un do_shortcode ();

1
Trenton Moore