首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不使用javascript的情况下重定向到wordpress中的n秒钟后的另一个页面?

如何在不使用javascript的情况下重定向到wordpress中的n秒钟后的另一个页面?
EN

Stack Overflow用户
提问于 2014-09-11 13:56:49
回答 5查看 7.5K关注 0票数 1

以下问题:我在php中检查插件页面的一个条件,如果它是假的,我想重定向到另一个页面。

对于PHP,它只是:

代码语言:javascript
复制
header('Refresh: 10; URL=http://yoursite.com/page.php');

如果你想在10秒后重定向。但在Wordpress中,将出现“已发送的标题”错误。

它的wordpress函数是:

代码语言:javascript
复制
exit( wp_redirect( admin_url( 'admin.php?page=your_page' ) ) );

但是这个函数没有时间参数。

我知道如何使用javascript重定向,但我更愿意使用php/wordpress函数进行重定向。有办法这样做吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-09-11 14:04:00

您必须能够以某种方式修改文档的<head>部分,并添加以下元标记:

代码语言:javascript
复制
<meta http-equiv="refresh" content="10; URL=http://yoursite.com/page.php">

这将是不同的,取决于您的模板的结构。

修改wordpress中的head部分(不使用模板)的一般解决方案是添加一个操作:

代码语言:javascript
复制
<?php

add_action('wp_head', 'some_function');
function some_function() {
    if($someCondition) { ?>
        <meta http-equiv="refresh" content="10; URL=http://yoursite.com/page.php"> <?php
    }
}
票数 2
EN

Stack Overflow用户

发布于 2014-09-11 14:02:49

php代码是服务器端,它被处理,然后传递给客户端。

简单的解决办法:

使用特殊的标题并输出普通的html重定向标头。

票数 0
EN

Stack Overflow用户

发布于 2014-09-12 06:30:25

好的,对于这个问题,似乎没有简单的PHP解决方案,所以我创建了一个javascript解决方案。似乎是处理重定向的最简单方法:

代码语言:javascript
复制
if($my_condition == false){ ?>
    <script type="text/javascript">
       $(document).ready(function() {
           var redirection_link=<?php echo json_encode(admin_url( 'admin.php?page=my_plugins_settings_page' )); ?>;                
           alert('Please check your Settings first!');
           window.location.replace(redirection_link);
        });
    </script>
<?php
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25789377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档