如何解决Wordpress 在插件中包含页面模板问题
我正在尝试为 wordpress 编写一个插件。我是从这个视频开始的。 Boilerplate Wordpress Plugin Development Tutorials
第34课写了前端部分,但是当我激活插件时,所有页面的内容都消失了。我该怎么办?
当我将以下几行转换为注释时,问题就解决了。如果我这样做,我无法控制插件特定页面。
$this->loader->add_filter( 'page_template',$plugin_public,'our_own_custom_page_template');
add_shortcode("render-my-content",array($plugin_public,"load_book_tool_content"));
$this->loader->add_action("wp_ajax_public_ajax_request","handle_ajax_request_public");
$this->loader->add_action("wp_ajax_nopriv_public_ajax_request","handle_ajax_request_public");
所有代码
private function define_public_hooks() {
$plugin_public = new collocation_Public( $this->get_plugin_name(),$this->get_version() );
$this->loader->add_action( 'wp_enqueue_scripts','enqueue_styles' );
$this->loader->add_action( 'wp_enqueue_scripts','enqueue_scripts' );
// filter for page template
// Problem line is here... add_filter('page_template')
$this->loader->add_filter( 'page_template','our_own_custom_page_template');
add_shortcode("render-my-content","load_book_tool_content"));
// this is for login case
$this->loader->add_action("wp_ajax_public_ajax_request","handle_ajax_request_public");
// this is for not logged in
$this->loader->add_action("wp_ajax_nopriv_public_ajax_request","handle_ajax_request_public");
}
public function our_own_custom_page_template(){
global $post;
if($post->post_name == "book_tool"){
$page_template = BOOKS_MANAGEMENT_TOOL_PLUGIN_PATH."public/partials/book-tool-layout.PHP";
}
return $page_template;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。