【问题标题】:How to call WordPress plugin function from custom page template?如何从自定义页面模板调用 WordPress 插件功能?
【发布时间】: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。

我在这里错过了什么?

谢谢!

【问题讨论】:

    标签: wordpress wordpress-theming custom-wordpress-pages


    【解决方案1】:

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

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

    if ( function_exists( 'logTheUserIn') ) { 
        logTheUserIn();
    }
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      相关资源
      最近更新 更多