重新定位附加到内容中的wordpress插件输出

时间:2018-02-16 20:46:10

标签: wordpress filter hook action

我正在尝试重新定位wordpress的审阅插件生成的输出的位置。该插件挂钩到“the_content”的末尾。我找到了用于删除输出的过滤器:

listOfGroups

现在我疯狂地尝试将输出重新定位到新位置。我在主题文件中创建了一个自定义钩子:

var i = 0;
var arrayOfPostURL = [];
isFinished = false;
while (isFinished == false)
    if(i == listOfGroups.length) {
        return fetch("/update_db_fcb_groups/" + theID + "/" + arrayOfPostURL).then((response) => {
                    response.json().then((data) => {
                        this.setState({onFcbGroups: arrayOfPostURL})
                        isFinished = true;
                    });
                });
    }
    if(i<listOfGroups.length){
        setTimeout(function(){
                fetch("/post_to_fcb_group/" + listOfGroups[i] + "/" + theID).then((response) => {
                    // console.log(response);
                    response.json().then((data) => {
                        arrayOfPostURL.push("+" + data.url)
                        i++;
                    });
                });
                // console.log(arr[i])
        },5000)
    }
}

当传递一个简单的函数时,上面的钩子输出到主题文件中的自定义位置就好了。然而,棘手的部分是要显示评论和评论表单。我尝试将其添加回来:

remove_filter('the_content', array( EDD_Reviews::get_instance(), 'load_frontend'));

这不起作用。我试图打电话的全部功能如下。任何机构有任何想法我怎么可以通过我的新钩子这称呼?我很困惑。

function reviews() {
do_action('reviews');
}

非常感谢提前。

1 个答案:

答案 0 :(得分:0)

好的,大部分都是在上课后弄明白的。如果其他人想要这样做,那么删除钩子如下:

remove_filter('the_content', array( EDD_Reviews::get_instance(), 'load_frontend'));

然后,以下行将在您喜欢的任何地方呈现评论和表单:

<?php echo EDD_Reviews()->load_frontend( '' ); ?>