0

我已经构建了一个非常简单的插件并将其上传到我在 localhost 上运行的 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); 
4

2 回答 2

0

首先,停止在每一行打开和关闭 PHP 标记,你不需要那个. 当您的 PHP 中间发生一些 HTML 时使用此选项。

此外,可以/应该省略?>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-19T15:34:46.813 回答
-1

打开您的 wordpress 管理区

Click on appearance->widgets

Drag and drop the Menu to desired place

或者

Click Appearance -> Menu

and click on sidebar menu

并在那里添加项目

希望能帮助到你

于 2013-01-19T06:17:14.890 回答