这是我第一次尝试创建自己的插件,一切正常,直到我尝试通过wp-admin添加或更新页面。如果我停用插件,网站将按预期工作。我收到有关已经由我的文件发送的标头的错误,我不知道如何解决这个问题。就像我说的,这是我的第一次尝试。
这是我非常简单的插件文件:
include(plugin_dir_path( __FILE__ ) . 'ndmr-plugin.php');
add_shortcode('small_ndmr_buttons_sc','small_ndmr_buttons');
add_action('init', 'small_ndmr_buttons_plugin');
function small_ndmr_buttons_plugin() {
add_action('wp_enqueue_scripts', 'ndmr_plugin_stylesheet');
function ndmr_plugin_stylesheet() {
wp_register_style('ndmr-plugin-style', plugins_url('style.css', __FILE__), array() );
wp_enqueue_style('ndmr-plugin-style');
wp_register_script('ndmr-plugin-jquery', plugins_url('ndmr-plugin-javascript.js', __FILE__), array() );
wp_enqueue_script('ndmr-plugin-jquery');
}
}
这是呈现短代码的文件:
function small_ndmr_buttons(){
return '
<div class="small-ndmr-buttons">
<div>
<p>search</p>
<ul>'.
wp_list_pages('title_li=&child_of=25&echo=0')
.'</ul>
</div>
<div>
<p>social</p>
<ul>'.
wp_list_pages('title_li=&child_of=27&echo=0')
.'</ul>
</div>
<div>
<p>design</p>
<ul>'.
wp_list_pages('title_li=&child_of=29&echo=0')
.'</ul>
</div>
<div>
<p>tv/radio</p>
<ul>'.
wp_list_pages('title_li=&child_of=31&echo=0')
.'</ul>
</div>
<div>
<p>yellow pages</p>
<ul>'.
wp_list_pages('title_li=&child_of=33&echo=0')
.'</ul>
</div>
<div>
<p>billboard</p>
<ul>'.
wp_list_pages('title_li=&child_of=35&echo=0')
.'</ul>
</div>
<span class="clear"></span>
</div>
';
}
呈现短代码的文件是我收到错误Cannot modify header information - headers already sent by
我尝试使用ob_start();
,但这只是回显文件中的文本并完全杀死wordpress后端。我错过了与插件有关的内容吗?
感谢您提供任何帮助。
答案 0 :(得分:2)
在打开PHP标记之前或结束标记之后是否有空格?通常,这是导致此类错误的最常见原因。更多信息请参见此代码:https://codex.wordpress.org/FAQ_Troubleshooting