代码之家  ›  专栏  ›  技术社区  ›  Krishna Ballabh Gupta

自定义端点API,用于从word press获取返回假值的所有主题

  •  1
  • Krishna Ballabh Gupta  · 技术社区  · 6 年前

    这里是我在这里创建的用于获取所有主题的自定义端点。但在json中,它并没有按预期返回结果。

    add_action( ‘rest_api_init’, function () {
    //Path to rest endpoint
    register_rest_route( ‘theme/v1’, ‘/get_theme_list/’, array(
    ‘methods’ => ‘GET’,
    ‘callback’ => ‘theme_list_function’
    ) );
    });
    // Our function to get the themes
    function theme_list_function(){
    // Get a list of themes
    $list = wp_get_themes();
    // Return the value
    return $list;
    }
    
    ?>
    

    如果我只看到wp\u get\u themes()函数,它将返回所有主题及其在数组中的描述。它在数组中的返回很好,但当我将其编码为json以传递数据时,它只返回数组键。

    以这种方式仅生成关键字名称

    All: {"basepress":{"update":false},"codilight-lite":{"update":false},"twentyfifteen":{"update":false},"twentyseventeen":{"update":false},"twentysixteen-child":{"update":false},"twentysixteen":{"update":false}}
    

    我需要关于主题的所有信息。

    如何使用自定义的REST端点来执行此操作。

    请帮忙。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Vel    6 年前

    尝试此代码

    add_action( 'rest_api_init', function () {
    //Path to rest endpoint
        register_rest_route( 'theme/v1', '/get_theme_list/', array('methods' => 'GET','callback' => 'theme_list_function') );
    });
    // Our function to get the themes
    function theme_list_function(){
        // Get a list of themes
        $list = wp_get_themes();
    
        $varTheme = array();
    
        foreach($list as $theme=>$value){
            $varTheme[$theme] = (array)$value;
        }
        return $varTheme;
    }