VPS参考、测评、推荐
分享你关注的VPS主机优惠信息

在WordPress中使用WordPress Dispatcher创建一个自定义的路由链接URL。

在WordPress中使用WordPress Dispatcher创建一个自定义的路由链接URL。
在WordPress中使用WordPress Dispatcher创建一个自定义的路由链接URL。

在WordPress中,根据官方标准,如果我们需要使用Ajax,我们需要向admin_ajax注册Ajax动作。如果我们需要添加页面,我们可以直接在后台添加页面。有简单方便的方法,不用在页面管理办公室添加页面,不用admin_ajax实现Ajax操作,就可以实现自页面?答案自然是有的。

为了实现目标,我们需要WordPress Dispatcher 库的帮助。我们可以库,并把它包含在我们的主题或插件中,我们可以走捷径,通过Composer安装它。

通过Composer安装WordPress Dispatcher 库WordPress Dispatcher已经到Composer的官方列表中,我们可以通过Composer安装直接管理这个库。

Composer要求fold/wordpress-dispatcher通过Composer生成的自动加载文件自动加载wordpress-dispatcher类。安装Composer后,它会自动为我们创建一个包含所有安装包的自动加载文件。我们只需要导入这个文件就可以已安装的PHP库的所有功能。

//加载composer安装后所需的库_ once(dirname(_ _ file _ _)。’/../vendor/autoload . PHP ‘); TheFold WordPress Dispatch使用WordPress Dispatcher创建WordPress Url以我最近开发的一个项目中的在线充值功能为例。在下面的代码中,online_charge是我们创建的在线充值的URL。我们通过Ajax将数据提交到/online_charge/URL,这个URL对应的函数就会自动执行。在本例中,操作是生成订单并跳转到支付宝支付。

//在线充值新派单([‘ _ charge’ = >函数($ request){ $ mount = trim($ _ post[‘ mount ‘]);$tn = “p4 “。order _ no();#计算总金额$ total _ fee = array _ sum($ mount);#计算总金额//创建订单数据,可由前台提交或自动生成$ options = [‘out _ trade _ no’ = > $ tn,//生成唯一订单号’ subject’ = > ‘在线充值’,//订单标题’ total_fee’ => $total_fee,//订单总金额。//获取支付网关$ gateway = Get _ gate _ way();$response = $gateway->购买($options )->();//直接跳转到支付宝支付$ response-> redirect();},] );使用自模板代替回调函数的具体函数有时候,我们需要使用自的页面模板来显示内容,这也是非常简单的。只需直接包含回调函数中要使用的模板。页面的具体内容在模板中定义,URL中的变量也可以直接在模板中使用。

new Dispatch([‘ orders/([a-z]*)’ = > ($ request,$ status = ” all)){ include(get _ template _ directory()。/page-orders . PHP ‘);},] );路由与类中的方法相对应,这样可以更好地组织路由和类。

new dispatch([‘ check out/’ = >[新结帐控制器,’ index’],’ check out/([a-z]+)’ = >[新结帐控制器,’ show ‘,[$ request,$ ]],//在以下参数中,$ request = checkout/。$ =([a-z]+);]);通过WordPress Dispatcher,我们直接绕过了注册Ajax操作的动作,这无疑为我们节省了大量代码,在需要大量Ajax操作的主题或插件中,让我们的代码逻辑更加清晰。

:在WordPress中使用WordPress Dispatcher创建一个的路由链接URL。 https://vps.caogenba.com.com/89921.html

赞(0) 打赏
未经允许不得转载:草根吧VPS_最新VPS信息参考 » 在WordPress中使用WordPress Dispatcher创建一个自定义的路由链接URL。
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址