如何在传递URL时从插件加载文件

时间:2013-07-29 作者:graphical_force

我正在创建一个加载文件的插件,如果单击链接,它会传递一些附加到url的变量。因此,如果单击链接,它将通过附加filter/?term=il_Massac,st_locked 应加载filter.php 文件

我的问题是如何让它使用filter.php 插件中包含哪些内容?主插件文件名为meta-box.php. 如果我把它作为一个页面添加到主题中,它可以工作,但我希望插件可以完成这项工作,而不是添加一个页面。现在,如果我不在主题文件夹中使用它作为页面模板,而只是将它放在插件文件夹中,它会给出404。

这是我的元框中链接的代码。php文件: <a href="<?php echo home_url()?>/filter/?term=<?php echo $term ?>">search link</a>

$term是一个变量,其中包含一些搜索参数。因此,如果我单击该链接,它将显示404页面,而不是加载过滤器。php文件来执行一些代码。同样,我可以将其作为页面模板添加到主题中,但我希望它包含在插件中,这样就不需要将其作为页面模板添加到主题中。

这有帮助吗?

有什么建议我可以这样做吗?

1 个回复
SO网友:graphical_force

最后,我用以下代码回答了自己的问题

add_filter( \'template_include\',\'include_filter_template_function\', 1 );

function include_filter_template_function($template_path ) {
        $template_path = plugin_dir_path( __FILE__ ) .\'filter.php\';

return $template_path;
}
并检查页面上的参数。我相信有一种更优雅的方法可以做到这一点,但它对我很有用。:)

结束