web-dev-qa-db-fra.com

Utilisation de WYSIWYG dans des boîtes à méta personnalisées

J'ai donc créé quelques méta-boîtes à l'aide de wp_editor, toutes identiques à celles-ci:

add_action( 'add_meta_boxes', 'business_facts_metabox' );              
function business_facts_metabox() 
    {   
        add_meta_box('business_facts', 'Business Facts', 'business_facts_output', 'page', 'normal', 'high');
    }

function business_facts_output( $post ) 
    {
    //so, dont ned to use esc_attr in front of get_post_meta
    $business_facts_value=  get_post_meta($_GET['post'], 'business_facts' , true ) ;
    wp_editor( htmlspecialchars_decode($business_facts_value), 'business-facts', $settings = array('textarea_name'=>'business-facts') );
    }


function save_business_facts( $post_id ) 
{                   
    if (!empty($_POST['business-facts']))
        {
        $data=htmlspecialchars($_POST['business-facts']);
        update_post_meta($post_id, 'business_facts', $data );
        }
}
add_action( 'save_post', 'save_business_facts' ); 

Malheureusement, lorsque je produis ce qui est sauvegardé, tout ce qui est enregistré est affiché. Ainsi, si je devais sortir un mot en gras, le résultat serait <strong> Word </ strong>, au lieu de Word . J'en ai besoin pour sortir correctement avec le style et le HTML fonctionne correctement.

Est-ce possible d'utiliser des métaboxes personnalisés? si oui, que dois-je modifier dans mon code?

1
Trenton Moore

J'ai donc compris cela presque immédiatement après avoir posté cette question (duh)

function business_facts_output( $post ) 
    {
    //so, dont ned to use esc_attr in front of get_post_meta
    $business_facts_value=  get_post_meta($_GET['post'], 'business_facts' , true ) ;
    wp_editor( htmlspecialchars_decode($business_facts_value), 'business-facts', $settings = array('textarea_name'=>'business-facts') );
}

Fondamentalement, ce bit ici, où il est écrit que htmlspecialchars_decode($business_facts_value) doit être changé. la fonction htmlspecialchars_decode () n'est pas nécessaire ici, j'ai juste besoin de $ business_facts_value

1
Trenton Moore