2014-06-13 21 views
0

我创建了一个主题选项页,我的WordPress主题与functions.php文件下面的代码:如何保护包含在WordPress的菜单页面中的外部页面?

add_action('admin_menu', 'register_options_page'); 

function register_options_page() 
{ 
    $my_hook = add_menu_page('Theme Options', 'Theme Options', 'manage_options', 'merry_options', 'get_theme_options', 'dashicons-share-alt', 99); 
    // var_dump($my_hook); die(); 
} 

function get_theme_options() 
{ 
    include_once get_template_directory()."/framework/themeoptions.php"; 
} 

正如你所看到的,它包括位于... /框架/ themeoptions外部页面。 PHP。现在问题是任何人都可以打开该URL直接访问该页面。我只想在WordPress管理员登录时访问该页面。您能告诉我正确的方法吗?

回答

0

想通了。我可以使用

<?php if (current_user_can('administrator')) { }?> 

查看WordPress管理员是否正在访问该页面。有更好的方法吗?

1

我建议以下功能:

if (is_admin()) { 
    echo "You are viewing the WordPress Administration Panels"; 
} else { 
    echo "You are viewing the theme"; 
} 

,以检查管理员权限的正确方式。

您可以在Wordpress Codex中阅读更多关于此功能的信息:http://codex.wordpress.org/Function_Reference/is_admin