【问题标题】:Can't load PHP code in PHP if statement无法在 PHP if 语句中加载 PHP 代码
【发布时间】:2014-06-03 00:14:07
【问题描述】:

我正在为我的新网站使用 Wordpress。现在,我为我网站上的每个页面添加了四个特殊的侧边栏。我正在尝试使用每个页面中的 slug 来激活该页面的侧边栏。我知道您也有插件可以为您执行此操作。但我希望它是全自动的。 :)

我知道如何调用网页 slug。您可以使用以下 php 代码执行此操作:

<?php the_slug();?>

而且我知道我可以使用以下代码调用每个页面的侧边栏:

<?php if ( is_active_sidebar( 'SIDEBAR-NAME-FOR-THAT-PAGE ' ) )  {?>
    <ul id="sidebar">
       <?php get_sidebar(); ?>
    </ul>
<?php } else { ?>
    //empty
<?php } ?>

但现在的事情。我将侧边栏命名为与每个页面的不同 slug 相同。所以我希望 SIDEBAR-NAME 与 slug 相同。所以我需要这样称呼:

<?php the_slug();?>

在上面示例中的 SIDEBAR-NAME-FOR-THAT-PAGE 位置。我已经试过了:

<?php if ( is_active_sidebar( ' 'tag=' the_slug() ' ) )  {?>
    <ul id="sidebar">
       <?php get_sidebar(); ?>
    </ul>
<?php } else { ?>
    //empty
<?php } ?>

但似乎什么也没发生。

有人吗?会很好!已经谢谢了。

【问题讨论】:

    标签: php wordpress sidebar slug


    【解决方案1】:

    不熟悉WP,但我觉得你应该这样写。

    <?php if ( is_active_sidebar( 'tag=' . the_slug() ) ) { ?>
        <ul id="sidebar">
           <?php get_sidebar(); ?>
        </ul>
    <?php } else { ?>
        //empty
    <?php } ?>
    

    或者这样

    <?php if ( is_active_sidebar( the_slug() ) ) { ?>
        <ul id="sidebar">
           <?php get_sidebar(); ?>
        </ul>
    <?php } else { ?>
        //empty
    <?php } ?>
    

    【讨论】:

    • 感谢您的快速回复。非常棒!您的第二个解决方案几乎效果很好!唯一的事情是我在侧边栏之前看到了蛞蝓。 Click here for an example你也知道这是怎么发生的吗?或更好;如何解决。
    猜你喜欢
    • 2016-06-11
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多