在我的插件执行一些URI操作之前,我需要检查页面是否是存档。这些操作只在以前有效wp
但如果我先做然后检查is_archive
, 检查将始终返回false。
如何检查is_archive
(或达到相同的最终结果)在-wp
钩
如果我们能通过那就太好了is_archive
一个要检查的帖子,但它不是那样工作的。
EDIT: 据我所知,档案馆甚至都没有帖子,我意识到也许我对自己的解释很糟糕。我只需要一些方法来检查当前URI是否是存档,然后wp
火灾。
EDIT: 在进一步的实验中,我的URI操作似乎不能晚于init
, 我认为,因为到那时,WP已经完成了重写等工作。因此,我需要一种方法来检查归档页的状态init
, 或者在之后进行URI重写init
, 只要能得到预期的结果,我对任何一种方法都很满意。
最合适的回答,由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";
}
希望这个有用!