艰难的Wordpress条件if_page不显示小部件

时间:2012-03-01 12:06:54

标签: php wordpress-plugin wordpress

我尝试了很多变化,似乎无法正确使用语法。在我的一个Wordpress主题页面中,我有以下Widget代码。如果页面名称为“event-view”或页面ID为“640”,我想将现有功能附加到删除此小部件的位置...我该怎么做?

<?php
    // A third sidebar for widgets
    if ( is_active_sidebar( 'third-widget-area' ) ) : ?>

        <div id="third" class="widget-area" role="complementary">
            <ul class="xoxo">
                <?php dynamic_sidebar( 'third-widget-area' ); ?>
            </ul>
        </div><!-- #secondary .widget-area -->

3 个答案:

答案 0 :(得分:1)

尝试更改

if ( is_active_sidebar( 'third-widget-area' ) )

if ( is_active_sidebar( 'third-widget-area' ) && !is_page(640) )

这样你可以检查当前页面是否是id为640的页面之外的其他页面;见http://codex.wordpress.org/Function_Reference/is_page

答案 1 :(得分:1)

试试这个:

<?php
// A third sidebar for widgets
if ( is_active_sidebar('third-widget-area') && !is_page(640) ) : ?>

    <div id="third" class="widget-area" role="complementary">
        <ul class="xoxo">
            <?php dynamic_sidebar( 'third-widget-area' ); ?>
        </ul>
    </div>

您还可以按名称is_page('event-view')

检查页面

答案 2 :(得分:1)

试试这个。
您可以在is_page()函数中传递page_id。

if(is_page('640') || is_page('49'))

有关详细信息,请参阅下文 http://wordpress.org/support/topic/display-widget-on-certain-pages