如何从管理插件检查当前静态页面是否为FrontPage

时间:2013-04-04 作者:johnode

我将静态页面设置为首页。

我需要知道用户当前是否在我的自定义插件主页上。

功能is_home()is_front_page() 不起作用,因为主页是静态页面。

我可以获取此页面的id:

$frontpage_id = get_option(\'page_on_front\');
但如何从管理插件中获取当前页面的id呢?(然后我将能够比较这些ID并检测当前页面是否为主页!)

2 vancoderCode:

1) 将任何静态页面设置为frontpage。

2) 创建虚拟插件

3) 插件代码:

$d = is_front_page();
var_dump($d);

==> 

bool(false)
UPD

http://codex.wordpress.org/Conditional_Tags#The_Front_Page

应该有用,但我没用

2 Vancoder

管理员插件的意思是插件:)对不起

现在这两行都是上下文,你自己试试,它不起作用。

WP版本3.3.2

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

这就是我要求提供更多代码上下文的原因。我不得不猜测,在is\\u front\\u page()准备就绪之前,您正在检查任何挂钩函数之外的首页,或者在过早调用的函数内部的首页。

以下操作将起作用。

function your_function()  {
$d = is_front_page();
var_dump($d);
}

add_action( \'wp\', \'your_function\' );

SO网友:fuxia

我想你说的是编辑器屏幕?如果是,可以使用全局变量$post_ID:

add_action( \'edit_form_after_title\', \'wpse_94626_front_page_detection\' );

function wpse_94626_front_page_detection()
{
    global $post_ID, $post_type;

    if ( empty ( $post_ID ) or \'page\' !== $post_type )
        return;

    if ( $post_ID === (int) get_option( \'page_on_front\' ) )
        print \'<p><b>This is the front page!</b></p>\';
}
enter image description here

结束

相关推荐

rename index or homepage

我尝试过任何事情,但似乎都无法按我的意愿发挥作用,所以我希望你能帮助我。情况我有2个wordpress网站,运行在不同的主机上,唯一的链接是“商业”链接。他们是这样设置的。url。com/wp是我的wordpress目录,我的索引在根目录中。参考。所以我有很好的url。com/联系人等。现在我有了一个简单的html页面,它必须是一个选择器。当您转到url时。com和url2。你可以看到这个索引。链接到url的html。com和url2。com。因此,每个url的根页面,用户可以选择转到url 1或2。我无