初始化期间需要检查IS_ARCHIVE

时间:2011-10-10 作者:JVC

在我的插件执行一些URI操作之前,我需要检查页面是否是存档。这些操作只在以前有效wp 但如果我先做然后检查is_archive, 检查将始终返回false。

如何检查is_archive (或达到相同的最终结果)在-wp

如果我们能通过那就太好了is_archive 一个要检查的帖子,但它不是那样工作的。

EDIT: 据我所知,档案馆甚至都没有帖子,我意识到也许我对自己的解释很糟糕。我只需要一些方法来检查当前URI是否是存档,然后wp 火灾。

EDIT: 在进一步的实验中,我的URI操作似乎不能晚于init, 我认为,因为到那时,WP已经完成了重写等工作。因此,我需要一种方法来检查归档页的状态init, 或者在之后进行URI重写init, 只要能得到预期的结果,我对任何一种方法都很满意。

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

这就是我能想到的init 就像你说的!即使您打印$GLOBALS 数组,无法检查当前页是否为存档,is_archive 也设置为空白!但是如果你检查一下$_GET 数组q 变量包含当前显示的存档类型。利用这一点,我想出了一个黑客,我不能保证你,如果它将永远工作!但是你可以试试这个!

<?php

    add_action(\'init\', \'q\');

    function q()
    {
        //echo \'<pre>\';
        //print_r($_GET);
        //echo \'</pre>\';

        $q = $_GET[\'q\'];

        //Here you can substitute other \'archive\' terms, say \'author\', \'date\' or \'<custom taxonomy name>\'. Use a switch case or nested if-else to check all the archive terms in your environment!
        $pos = strpos($q, \'category\');
        if($pos !== false )
            echo "CATEGORY ARCHIVE";
    }
希望这个有用!

结束

相关推荐

hooks & filters and variables

我是updating the codex page example for action hooks, 在游戏中完成一些可重用的功能(最初是针对这里的一些Q@WA)。但后来我遇到了一个以前没有意识到的问题:在挂接到一个函数以修改变量的输出后,我再也无法决定是要回显输出还是只返回它。The Problem: 我可以修改传递给do_action 用回调函数钩住。使用变量修改/添加的所有内容仅在回调函数中可用,但在do_action 在原始函数内部调用。很高兴:我将其修改为一个工作示例,因此您可以将其复制/粘贴