【问题标题】:If/else to test for home in Wordpressif/else 在 Wordpress 中测试主页
【发布时间】:2016-10-03 08:52:34
【问题描述】:

我的自定义 WP 主题的标题中有一个图像横幅,仅在页面上(不是帖子)。我需要这个横幅在主页上有所不同。我已经创建了一个首页模板,并且有这个:

    <?php if (is_front_page()){ ?>
        <div class="banner">
            <?php if ( get_header_image() ) : ?>
                <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home">
                    <img src="<?php header_image(); ?>" width="<?php echo esc_attr( get_custom_header()->width ); ?>" height="<?php echo esc_attr( get_custom_header()->height ); ?>" alt="">
                </a>
        </div><!-- #banner -->

    <?php else { ?>
        <div class="banner">
            <?php if ( get_header_image() ) : ?>
                <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home">
                    <img src="<?php header_image(); ?>" width="<?php echo esc_attr( get_custom_header()->width ); ?>" height="<?php echo esc_attr( get_custom_header()->height ); ?>" alt="">
                </a>
            <?php endif; // End header image check. ?>
        </div><!-- #banner -->

我在这里使用了两次相同的图像只是为了测试,但得到了一堆错误。我的php不是很好。任何人都可以帮忙吗?

【问题讨论】:

  • 如果没有您告诉我们什么不工作/您遇到什么错误,您一定会知道。 “一堆错误”信息量不大。
  • 如果这是您的代码的精确副本,您至少应该删除最后 3 行(其中一行为空但仍将其删除)
  • 对不起,这是 WP 中错误的屏幕截图。 dropbox.com/s/w6w1lphv7bvbwt8/…
  • 你在 else 之前错过了一个右大括号
  • 你必须在你的 else 部分的 else 和 end 之前添加一个右大括号,也缺少一个 endif

标签: php wordpress


【解决方案1】:

这里不多说,把你的代码替换成这个:

<?php if (is_front_page()){ ?>
    <div class="banner">
        <?php if ( get_header_image() ) : ?>
            <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home">
                <img src="<?php header_image(); ?>" width="<?php echo esc_attr( get_custom_header()->width ); ?>" height="<?php echo esc_attr( get_custom_header()->height ); ?>" alt="">
            </a>
        <?php endif; ?>
    </div><!-- #banner -->
<?php } else { ?>
    <div class="banner">
        <?php if ( get_header_image() ) : ?>
            <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home">
                <img src="<?php header_image(); ?>" width="<?php echo esc_attr( get_custom_header()->width ); ?>" height="<?php echo esc_attr( get_custom_header()->height ); ?>" alt="">
            </a>
        <?php endif; // End header image check. ?>
    </div><!-- #banner -->
<?php } ?>

有点启发:

  • 您在else { 之前忘记了结束}
  • 您在&lt;/div&gt;&lt;!-- #banner --&gt; 之前缺少endif;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2016-08-16
    • 2022-02-03
    相关资源
    最近更新 更多