如何从自定义页面模板调用 WordPress 插件功能?

Posted

技术标签:

【中文标题】如何从自定义页面模板调用 WordPress 插件功能?【英文标题】:How to call WordPress plugin function from custom page template? 【发布时间】:2020-02-11 09:28:52 【问题描述】:

我有一个处理身份验证的自定义 WordPress 插件。

plugin-name/src/Classes/Auth.php 中有一个函数 logTheUserIn()。

当用户点击自定义 WordPress 模板页面 (page-authPortal.php) 时,我需要运行此函数,该页面顶部有以下代码:

    include_once('wp-includes/pluggable.php');
    include_once("wp-content/plugins/ad-auth-bridge/src/Classes/Auth.php");
    print "test";

我创建了一个名为“authPortal”的 WordPress 页面,它显示了“测试”文本,因此我知道正在加载和呈现自定义页面。现在我只需要启动 logTheUserIn()。

我尝试在 Auth.php 中添加短代码和操作:

class Auth 
    public function InitHooks() 

  add_shortcode ('authNow', 'logTheUserIn');
  add_action ('authAction', 'logTheUserIn');

然后我尝试在 WordPress 编辑器中使用实际的短代码 [authNow],我还尝试了 do_shortcode 和 do_action。

我在这里错过了什么?

谢谢!

【问题讨论】:

【参考方案1】:

无需包含或要求插件字段。它们最初由 WordPress 加载。

首先,在您的模板中,确保您的插件处于活动状态并且函数/类是可访问的:

if ( function_exists( 'logTheUserIn') )  
    logTheUserIn();

然后在您的模板中触发该函数。

在您的情况下,您可能需要检查是否 class_exists,然后初始化类

【讨论】:

以上是关于如何从自定义页面模板调用 WordPress 插件功能?的主要内容,如果未能解决你的问题,请参考以下文章

WordPress插件中的自定义页面模板

PHP WordPress插件中的自定义页面模板

Wordpress 从自定义帖子中删除永久链接但保留存档

请问wordpress如何实现Tag功能?

wordpress如何添加文章页面?

如何检查 Wordpress 高级自定义字段插件中的字段组?