V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jianghu52
V2EX  ›  程序员

wordpress 新人求教如何在后台子项目里面调用其他的php文件?

  •  
  •   jianghu52 · 2013-11-12 14:34:08 +08:00 · 2944 次点击
    这是一个创建于 4036 天前的主题,其中的信息可能已经有所发展或是发生改变。
    google了一遍,发现所有的例子上都是如此坑爹的写着:
    <?php
    function add_diy_menu() {
    add_submenu_page(__FILE__,'子菜单1','子菜单名称1',8,'your-admin-sub-menu1','my_function_submenu1');
    }
    function my_function_submenu1() {
    echo "<h2>子菜单1的页面内容</h2>";
    }
    add_action('admin_menu','add_diy_menu');
    ?>
    我希望的是子菜单1能调用wp-admin文件夹下的showtest.php文件。(里面只有一句echo “xxxx”)
    就是不会写了。
    我将 echo "<h2>子菜单1的页面内容</h2>"; 替换成
    wp_redirect(admin_url(showtest.php)); 但是不对。报错内容问:
    Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\wppro\wp-admin\menu-header.php:162)

    求教高人应该怎么写。
    7 条回复    1970-01-01 08:00:00 +08:00
    sarices
        1
    sarices  
       2013-11-12 14:36:54 +08:00
    wp_redirect(admin_url(showtest.php)); 之前不能有输出,你改成js脚本跳转吧
    jianghu52
        2
    jianghu52  
    OP
       2013-11-12 15:13:45 +08:00
    functions.php里面写js么?那跟原来的在function里面写html没有区别啊。
    ximan
        3
    ximan  
       2013-11-12 20:59:09 +08:00
    你干嘛非要把showtest.php单独放到wp-admin里?
    直接把这页面的内容放在functions.php里然后按照你这方法调用不就OK了?
    这样好处就是升级不影响程序啊!所有东西应该都只放到模板文件夹里是最好的了。
    jianghu52
        4
    jianghu52  
    OP
       2013-11-12 21:34:52 +08:00
    因为很多的功能文件都放在了wp-admin 包里面,我只会在这个包里面调用其他的php文件,如果改在了主题里面,就不会调用了。
    lijinma
        5
    lijinma  
       2013-11-13 09:23:09 +08:00   ❤️ 1
    你把showtest.php写成一个类 class showtest;

    然后require一下呗,然后funtion my_function_submenu1() 新建类showtest的实例,再调用函数
    jianghu52
        6
    jianghu52  
    OP
       2013-11-13 16:06:19 +08:00
    @lijinma 这个方法好。我回去实验一下。
    axha180
        7
    axha180  
       2013-11-13 21:49:25 +08:00
    mark
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2773 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:40 · PVG 20:40 · LAX 04:40 · JFK 07:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.