Wordpress submit_button();到一个新的页面

时间:2014-10-04 11:56:52

标签: php wordpress plugins

我有这段代码:

function my_main_function()
{
    add_menu_page('MyNewPlugin', 'MyNewPlugin', 'manage_options', 'my_plugin_options', 'wps_theme_func');
}
    add_action('admin_menu', 'my_main_function');


function wps_theme_func()
{
    echo '
        <div class="wrap">
            <div id="icon-options-general" class="icon32"><br></div>
            <h2>Main Page</h2>
        </div>
    ';  

    submit_button('Add data', 'secondary');
}

如何使用添加数据按钮打开新页面?

该页面应与主页显示在同一位置。

1 个答案:

答案 0 :(得分:0)

submit_button 无法重定向到其他网页。

但您可以检查隐藏的input-element并在init-action中执行手动重定向:

function wps_theme_func()
{

    echo '
        <div class="wrap">
            <div id="icon-options-general" class="icon32"><br></div>
            <h2>Main Page</h2>
        </div>
        <input type="hidden" name="wps_theme_do_redirect" value="true">
    ';  

    submit_button('Add data', 'secondary');
}

add_action('init', 'wps_theme_init');

function mywps_theme_init() {
    if(isset($_POST['wps_theme_do_redirect'] && $_POST['wps_theme_do_redirect'] == 'true') {
        wp_redirect('options.php');
        exit();
    }
}

不要忘记使用表单元素扭曲wp_theme_func()的输出。

编辑:当然你可以使用form-attribute作为重定向:

function wps_theme_func()
{
    echo '
        <div class="wrap">
            <div id="icon-options-general" class="icon32"><br></div>
            <h2>Main Page</h2>
        </div>
        <form action="admin.php?page=page-b" method="post">
    ';  

    submit_button('Add data', 'secondary');

    echo '</form>';
}