【问题标题】:How can I add button with custom link to Wordpress dashboard?如何将带有自定义链接的按钮添加到 Wordpress 仪表板?
【发布时间】:2017-05-11 08:57:31
【问题描述】:

我正在尝试通过自定义创建的主题插件而不是 functions.php 文件向 WordPress 仪表板添加自定义按钮。

我尝试过使用 add_menu_page() 方法https://developer.wordpress.org/reference/functions/add_menu_page/,但我认为我并不完全理解它,因为它根本不适合我:

<?php

add_action('admin_menu', 'mt_add_pages');

function mt_add_pages() {
    add_menu_page( 'Custom Admin Page Title', 'Custom Menu Title', 'manage_options', 'custom_admin_page_slug', 'pg_building_function','',3 );
}

function mt_toplevel_page() {
    echo "<h2>" . _( 'page contents for the menu' ) . "</h2>";
}

此外,我希望能够直接在按钮上创建一个链接以转到自定义内部/外部 URL (target='_blank') - 而不仅仅是在单击仪表板时在仪表板中创建一个管理页面。

我做错了吗?我可以使用这种方法来做到这一点吗?

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    add_menu_page 有错误,回调是 pg_building_function,但你显示的函数是 mt_toplevel_page

    一种选择是重定向页面而不是打印任何内容:

    add_action('admin_menu', 'mt_add_pages');
    
    function mt_add_pages() {
        add_menu_page( 'Custom Admin Page Title', 'Custom Menu Title', 'manage_options', 'custom_admin_page_slug', 'pg_building_function','',3 );
    }
    
    function pg_building_function() {
        wp_redirect( 'https://google.com' );
        exit;
    }
    

    另一种是使用JavaScript:

    function pg_building_function() {
        echo "<script>window.open('https://google.com');</script>";
    }
    

    最后,一些jQuery修改菜单属性:

    add_action( 'admin_menu', 'mt_add_pages' );
    add_action( 'admin_head', 'redirect_custom_menu' );
    function mt_add_pages() {
        add_menu_page( 'My Menu', 'My Menu', 'manage_options', 'custom_admin_page_slug', __return_null,'',3 );
    }
    function redirect_custom_menu(){
        ?>
        <script type="text/javascript">
            jQuery(document).ready( function($) {   
                $('a.toplevel_page_custom_admin_page_slug').attr('href','https://google.com').attr('target','_blank');  
            });
        </script>
        <?php
    }
    

    【讨论】:

    • 好答案,我喜欢!
    猜你喜欢
    • 2020-02-15
    • 1970-01-01
    • 2018-06-09
    • 1970-01-01
    • 2012-12-15
    • 2014-01-13
    • 2011-07-29
    • 2011-05-04
    • 1970-01-01
    相关资源
    最近更新 更多