php - 如何将带有自定义链接的按钮添加到 WordPress 仪表板?

标签 php wordpress

我正在尝试通过自定义创建的主题插件而不是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') - 而不仅仅是在单击时在仪表板中创建一个管理页面。

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

最佳答案

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
}

关于php - 如何将带有自定义链接的按钮添加到 WordPress 仪表板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43903850/

相关文章:

php - 通过URL解析字符串搜索mysql数据库

javascript - 内联 JavaScript 抛出 "not defined"(确实如此!)- 也许与 WordPress 相关?

mysql - 如何使用 wordpress docker 镜像从 azure 应用程序服务连接到 mysql 的 azure 数据库?

php - 如何在 Laravel 中更新数据库之前更改字段的值

php - 如何从 sql 数据库的一列填充 php 数组?

php - 如何在异步任务上加载图像

wordpress - 在 Rest api 上获取自定义分类

php - 停止远程服务器 PHP 上的无限循环

javascript - 如何从 DOM 发送图像作为表单的一部分

php - 在 wordpress 的 html 内容中间添加帖子