如果页面不同,则删除帖子:2 wp_reDirect

时间:2016-06-06 作者:middlelady

我的网站允许用户从前端发布和管理帖子。我已经创建了一种帐户部分,在那里他们可以编辑和删除所有发布的帖子。他们甚至可以通过post page (single.php). So 2情况:

我的账户页面(列出所有帖子):快速操作->删除帖子。It works fine, 无需重定向。页面刷新和发布已消失删除。在这种情况下,我应该将我的人员重定向到他们的帐户页面或其他任何地方,因为他们在操作后会得到一个not\\u found页面。This is my problem.我可以指定wp_redirect(get_permalink(my_account_page_id)) 在操作期间,但我的函数不在页面中,它通过调用do_action 我的functions.php. 所以我每次都应该检查他们是否进入了自己的账户或内部帖子页面(single.php).我甚至试过使用$pagenow 但没有成功。

我在中的操作functions.php 调用modal,如下所示:

add_action(\'delete_post\', \'delete_p_function\');
    function delete_p_function($pid) { 
        global $wpdb; $pagenow;
        $delete = \'delete_\'.$pid;
        if(isset($_POST[$delete]))
        {
            wp_delete_post($pid);
            if($pagenow == \'single.php\'):
                wp_redirect(get_permalink(my_account_page_id));
            endif;
        } ?>
        <div id="delete-<?php echo $pid?>" class="modal fade" role="dialog">
            <div class="modal-dialog">
                <form method="post" class="top-15 text-center">
                        <input type="submit" name="delete_<?php echo $pid?>" class="submit_red" value="<?php _e("Delete",\'KleeiaDev\'); ?>" style="width:100%; text-align:center"/>
                </form>
           </div>
        </div>

    <?php }
当然如果不是single.php 没有action 在里面<form> 因此页面将被刷新。因此,对于列表页面来说,这很好。但我如何检查是否在单页中。php?

附:我甚至试过is_page_template() 没有成功。

1 个回复
最合适的回答,由SO网友:Capiedge 整理而成

我认为此本机函数将帮助您:

 if ( is_single() ) {
     //do stuff
 }
你会发现more information 在WP开发者部分。它适用于任何帖子类型,附件和页面除外。

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register