我创建了一个插件,该插件将呈现输入页面的短代码。
这个短代码将覆盖主题的页面模板,并使用我在插件中包含的模板
这是我的代码:
api。php
class Api{
public static $logger = null;
function Api() {
add_shortcode(\'my_shortcode\', array(&$this, \'my_shortcode_function\'));
}
function my_shortcode_function($atts,$content = null)
{
add_filter( \'template_include\', \'custom_view\');
}
function custom_view()
{
$template = plugin_dir_path( __FILE__ ) . \'custom-page.php\';
return $template;
}
}
add_action(\'init\', \'apiInit\', 10);
function apiInit() {
global $api;
if (class_exists(\'Api\')){
$api = new Api();
}
}
这是我的自定义页面。php(我百分之百确定它位于我在代码中指向的正确路径/目录中)
<?php
/**
* Response View Template
* File: custom-page.php
*
*/
echo \'I am here!\';
<?
尝试调试每个函数,它通过my\\u shortcode\\u function()执行,但不通过自定义视图函数执行。
干杯