我已经在google上搜索了几个小时这个问题,所以我试图通过创建自己的问题来获得一些帮助,希望你能帮助我:)
我写了一个插件,需要在空白页面上输出其内容。
我可以使用快捷方式,但模板页眉和页脚将加载到。我不想创建(空白)自定义模板文件。这需要用户做更多的工作,然后只安装插件。
所以我在stackexchange上找到了这段代码,它创建了一个永久链接并将内容输出到它:(直接链接:Generate custom output for page/URL in a plugin)
<?php
/*
Plugin Name: Custom output
Description: A module to test the custom output. To test: http://your_wordpress_site.com/customop_uri_path
Version: 1.0
Author: Danilo Silva
Author URI: http://danilocgsilva.me
*/
// Write a new permalink entry on code activation
register_activation_hook( __FILE__, \'customop_activation\' );
function customop_activation() {
customop_custom_output();
flush_rewrite_rules(); // Update the permalink entries in the database, so the permalink structure needn\'t be redone every page load
}
// If the plugin is deactivated, clean the permalink structure
register_deactivation_hook( __FILE__, \'customop_deactivation\' );
function customop_deactivation() {
flush_rewrite_rules();
}
// And now, the code that do the magic!!!
// This code create a new permalink entry
add_action( \'init\', \'customop_custom_output\' );
function customop_custom_output() {
add_rewrite_tag( \'%customop_uri_path%\', \'([^/]+)\' );
add_permastruct( \'customop_uri_path\', \'/%customop_uri_path%\' );
}
// The following controls the output content
add_action( \'template_redirect\', \'customop_display\' );
function customop_display() {
if ($query_var = get_query_var(\'customop_uri_path\')) {
header("Content-Type: text/plain");
echo \'This is my custom content!!!!\';
exit; // Don\'t forget the exit. If so, WordPress will continue executing the template rendering and will not fing anything, throwing the \'not found page\'
}
}
这个示例运行得很好,除了它不仅将内容输出到“customop\\u uri\\u path”,它还在除主页之外的所有页面上创建输出。所以整个网站都搞砸了。
我创建了一个新的帮助线程,以便了解如何为我的插件创建这样的输出。
我可以只为插件加载一个特定的模板文件,这样短代码也会生成一个空白页面吗?或者代码示例中是否有错误?
我很感激你能为我提供的一切帮助。