【问题标题】:Accessing class from Wordpress filter从 Wordpress 过滤器访问类
【发布时间】:2023-03-05 05:27:01
【问题描述】:

我可能把这个弄得一团糟......

我正在尝试向 the_content 添加一个过滤器,该过滤器将添加一个来自外部类的方法,但会继续循环。

谁能指出我正确的方向??

class MyClass {

    var foo;
    var bar;

    function myMethod($id) {
            // some code
    }
}

我一直无法从插件过滤器中访问myMethod($id),如下所示:

function extendPost($content, '') {
    global $post;
    $id = $post->ID;
    $class = new MyClass();
    // this is where i get stuck
    $myMethod = $class->myMethod($id) // ??;
    $content.= "<div>" . $myMethod . "</div>";
}

add_filter('the_content', 'extendPost');

任何帮助都是王牌。今晚我真的很想睡一觉;)

【问题讨论】:

  • 您的myMethod 函数中是否真的有一个return 语句,它返回一个值来分配您的myMethod 变量?
  • 另外,不确定这是因为您的帖子还是您的实际代码,但您注释掉了“;”在 $myMethod 被分配的行上。

标签: wordpress filter plugins


【解决方案1】:

add_filter()standard PHP callback 作为参数。

应用对象的extendPost()方法 $myObject;

add_filter('the_content', array(&myObject, 'extendPost'));

应用类的extendPost()方法 myClass;

add_filter('the_content', array('myClass', 'extendPost'));

【讨论】:

    猜你喜欢
    • 2019-08-11
    • 2018-11-09
    • 1970-01-01
    • 2017-08-08
    • 2015-02-25
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多