【问题标题】:MySQL Functions in WordPress Admin PageWordPress 管理页面中的 MySQL 函数
【发布时间】:2012-01-11 22:19:38
【问题描述】:

我目前正在通过functions.php 制作一个自定义的WordPress 管理页面。我希望这个页面基本上从 SQL 数据库(与 WordPress 无关)中检索信息并将其显示给访问者。我可以做到这一点,但是如果我将代码粘贴在我的functions.php中,那么无论哪个页面,SQL代码都会在每个页面请求上运行吗?这是我的函数文件:

function mytheme_add_admin() {
add_menu_page('Members', 'Members', 'moderate_comments', 'members', 'mytheme_admin');
}

function mytheme_admin() {
?>
#all the code for my page here
<?php }

add_action('admin_menu', 'mytheme_add_admin');

“#all the code for my page here”将是 HTML 和一些 PHP 来获取 SQL 数据。有没有办法只在查看该特定管理页面时才发生这种情况?

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    这将在每次页面加载时运行查询,除非您在函数本身或(最好)在 add_action() 调用周围添加条件。有几种方法可以让它只在一个页面上运行,但两种最简单的方法可能是使用内置全局变量 'pagenow' 的 wordpress' 或使用 $_SERVER 变量之一来做同样的事情($_SERVER['以 REQUEST_URI'] 为例)

    if (in_array($GLOBALS['pagenow'], array(pages this should show up on))){
       add_action('admin_menu', 'mytheme_add_admin');
    }
    

    if (in_array($_SERVER['REQUEST_URI'], array(pages this should show up on with path from root))){
        add_action('admin_menu', 'mytheme_add_admin');
    }
    

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 1970-01-01
      • 2019-03-07
      • 1970-01-01
      • 2017-05-03
      • 2019-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多