2016-02-16 6 views
5

Ich verwende die WordPress REST API, um den HTML-Inhalt meiner WordPress-Seite in einer externen Anwendung zu erhalten. Ich rufe diese mysite/wp-json/wp/v2/pages/10 und es gibt:Raw-HTML-Ausgabe von WordPress-REST-API erhalten

"content": { 
    "rendered": "[vc_column_text]Hello World[/vc_column_text]" 
} 

Gibt es eine Möglichkeit, den Code in ihm zurück endgültige HTML-Ausgabe ist und ohne die [VC_] Kurzwahlnummern, zB: <p>Hello World</p>

Die Shortcodes stammen aus der .

+0

hier das gleiche Problem zu haben. Ich habe versucht, einen Inhaltsfilter zu verwenden, um ihn in HTML umzuwandeln. Ich habe auch auf dem Support-Forum gepostet, also hoffe ich, entweder dort oder hier eine Antwort zu bekommen. :) [WP REST API-Support-Forum-Post] (https://wordpress.org/support/topic/convert-shortcodes-to-html-for-json-api) –

Antwort

0

hier gefunden und Antwort: https://github.com/CompassHB/web/issues/67#issuecomment-245857301

Das folgende Beispiel aus dem obigen Link genommen wird:

/** 
* Modify REST API content for pages to force 
* shortcodes to render since Visual Composer does not 
* do this 
*/ 
add_action('rest_api_init', function() 
{ 
    register_rest_field(
      'page', 
      'content', 
      array(
       'get_callback' => 'compasshb_do_shortcodes', 
       'update_callback' => null, 
       'schema'   => null, 
     ) 
     ); 
}); 

function compasshb_do_shortcodes($object, $field_name, $request) 
{ 
    WPBMap::addAllMappedShortcodes(); // This does all the work 

    global $post; 
    $post = get_post ($object['id']); 
    $output['rendered'] = apply_filters('the_content', $post->post_content); 

    return $output; 
}