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-код.