我已经构建了一个非常简单的插件,并将其上传到我的wordpress帐户上,该帐户在本地主机上运行。一旦我激活它,它的输出将显示在每一页上,它不会被添加到wordpress的左侧菜单中。我应该添加什么才能添加到菜单中?我想应该用add_action来完成,但不知道怎么做!!
<?php
/*
Plugin Name: myphotos Plugin
Description: A simple wordpress plugin.
Version: 1.0
Author: Saeed Pirdost
Copyright: 2012, Saeed Pirdost
*/
?>
<?php
add_filter('admin_notices','myprint');
?>
function myprint()
{
echo "hello";
}
?>add_menu_page(__('My Menu Page'), __('My Menu'), 'edit_themes', 'my_new_menu', 'myprint', '', 7); 发布于 2013-01-19 23:34:47
首先,在每一行都停止打开和关闭标签,你不需要这样做。当一些HTML出现在你的PHP中间的时候,就会用到它。
此外,PHP文件的最后一个结束?>可以/应该省略为。它甚至可能会破坏一个网站,如果它后面有一个空格...
请参阅WordPress_Coding_Standards。
其次,您需要决定是使用my_print函数作为admin_notices 的回调还是add_menu_page的回调。两者都有可能吗?在这种情况下,是的,但实际上,只有在你知道自己在做什么的情况下才能这样做。
您的插件正在中断,因为无法直接调用add_menu_page。
总是检查没有按预期工作的每个函数的文档:
Function_Reference/add_menu_page
这是你的插件的一个工作版本:
<?php
/*
Plugin Name: myphotos Plugin
Description: A simple wordpress plugin.
Version: 1.0
Author: Saeed Pirdost
Copyright: 2012, Saeed Pirdost
*/
add_filter( 'admin_notices', 'print_my_notice' );
add_action( 'admin_menu', 'register_custom_menu_page' );
function print_my_notice()
{
echo '<div class="updated">
<p>I am a big notice that appears everywhere</p>
</div>';
}
function register_custom_menu_page()
{
add_menu_page(
__( 'My Menu Page', 'my-plugin-text-domain' ),
__( 'My Menu', 'my-plugin-text-domain' ),
'edit_themes',
'my_new_menu',
'print_my_menu',
'http://upload.wikimedia.org/wikipedia/commons/a/aa/Wink%2816px%29.svg',
7
);
}
function print_my_menu()
{
echo '<div id="icon-post" class="icon32"></div>
<h2>My plugin</h2>
<p><a class="button-secondary" href="#"> '
. __( 'I am a translation', 'my-plugin-text-domain' )
. '</a>
</p>';
}发布于 2013-01-19 14:17:15
打开您的wordpress管理区域
Click on appearance->widgets
Drag and drop the Menu to desired place或
Click Appearance -> Menu
and click on sidebar menu并在那里添加项目
希望能有所帮助
https://stackoverflow.com/questions/14411693
复制相似问题