gatsby-source-wordpress-experimental преобразовать шорткод в необработанный html

Я пытаюсь использовать https://github.com/gatsbyjs/gatsby-source-wordpress-experimental для получения данных из WordPress. У меня уже есть плагины WPGatsby и WPGraphQL, установленные в WordPress, а в части Gatsby плагин также установлен, настроен и готов к работе. Я могу получить некоторые данные, но даже мой запрос для конкретной страницы работает, однако...

data.wpPage.content возвращает html с шорткодами WordPress...

Очевидно, это не идеально, и я ищу способ как-то от этого избавиться. В каком-то среднем сообщении я обнаружил, что вы можете добавить в functions.php следующий код:

add_action( 'rest_api_init', function ()
{
   register_rest_field(
          'page',
          'content',
          array(
                 'get_callback'    => 'htr_do_shortcodes',
                 'update_callback' => null,
                 'schema'          => null,
          )
       );
});

function htr_do_shortcodes( $object, $field_name, $request )
{
   WPBMap::addAllMappedShortcodes();global $post;
   $post = get_post ($object['id']);
   $output['rendered'] = apply_filters( 'the_content', $post->post_content );return $output;
}

После добавления этот шорткод преобразуется в необработанный html, НО только для /wp-json/wp/v2/pages/{number}конечные точки. К сожалению, GraphQL остался прежним. Кто-нибудь знает, как этого добиться? Я не уверен, может ли это быть настройкой плагина или для этого потребуется какой-то PHP-код.

0 ответов

Другие вопросы по тегам