使用Wordpress API和React的特殊字符

时间:2017-11-09 18:32:56

标签: javascript

我正在使用带有React应用程序的Wordpress rest API。我有一个名为' Q& A'的类别,wordpress模板系统能够在渲染时正确翻译它。

但是,当使用带有react的动态视图并从Wordpress API检索该数据时,该名称将返回为"name": "Q&A"。另外考虑到我想在HTML中提供类别作为React的初始状态,我想编码是正确的。

我认为客户有责任翻译这些字段。哪个是在实际字符串中翻译这些响应的最佳方式?

2 个答案:

答案 0 :(得分:1)

此js函数将为您解析那些与号:

//If it already exists we just want to update with the new values without 
//duplicating
Match.findOneAndUpdate(
          { pseudoKey: pseudoKey, "matchInstances.service": service },
          { $set: { "matchInstances.$": matchInstances[0] } }
//If it does not exist we want to add it as a new entry into the matchInstances
//subdocument
Match.findOneAndUpdate(
                { pseudoKey: pseudoKey },
                { $addToSet: { matchInstances: matchInstances } }
              )

希望有帮助!

答案 1 :(得分:0)

在您的 function.php 文件或自定义插件中编写此代码:

function is_get_posts_request( \WP_REST_Request $request ) {
    return 'GET' === $request->get_method();
}

function mutate_get_posts_response( $response ) {
    if ( ! ( $response instanceof \WP_REST_Response ) ) {
        return;
    }
    $data = array_map(
        'prefix_post_response',
        
        $response->get_data()
    );
    $response->set_data( $data );
}

function prefix_post_response(  array $post ) {
    if ( isset( $post['title']['rendered'] ) ) {
      
        //$type = $request->get_param( 'type' ),
        $post['title']['rendered'] = html_entity_decode( $post['title']['rendered']);
    }
    return $post;
}

add_filter(
    'rest_request_after_callbacks',
    function( $response, array $handler, \WP_REST_Request $request ) {
        if ( is_get_posts_request( $request ) ) {
            mutate_get_posts_response( $response );
        }
        return $response;
    },
    10,
    3
);

插件链接是here