扩展WooCommerce REST API路由失败

时间:2019-06-24 作者:fefe

当我试图用自定义的方法扩展Woocommerce Rest API路由时,我面临以下问题。我有一个类,它试图在Woocommerce API中挂钩

class API_LOADER
{
public function init()
        {
            add_action( \'woocommerce_api_loaded\', array( $this, \'load\' ) );
        }
        public function load()
        {
            //This method will be not called
            require_once plugin_dir_path( __FILE__ ).\'wc-api-custom.php\';
            add_filter( \'woocommerce_api_classes\', array( $this, \'register\' ) );
        }
} 
但是woocommerce_api_loaded 不会触发任何回调。

在这种情况下我做错了什么

1 个回复
SO网友:ChristopherJones

如果在您的register_rest_route() 调用您可以向其传递权限回调选项:

\'permission_callback\' => function () {
  return current_user_can(\'customer\');
  // OR
  return current_user_can(\'shop_manager\');
}
这样,您就可以确定您正在与登录的Woocommerce用户打交道??

这是Woocommerce为您的站点添加的两个角色。https://docs.woocommerce.com/document/roles-capabilities/

我知道这并不能直接回答你的问题,但我希望这能有所帮助!如果我偏离了方向,我可以把答案记下来。

相关推荐

OOP development and hooks

我目前正在为Wordpress编写我的第一个OOP插件。为了帮助我找到一点结构,a boiler plate 这为我奠定了基础。在里面Main.php 有一种方法可以为管理员加载JS和CSS资产:/** * Register all of the hooks related to the admin area functionality * of the plugin. * * @since 0.1.0 * @access private