0

现场直播。

我的网站设置为在木质背景 ( ) 上显示图像或画廊#above,下面的其余内容在亚麻背景 ( #below) 上显示。这适用于每个页面,但投资组合页面 - 在选择特定画廊之前,木制空间没有内容。

有没有办法让亚麻背景和内容(#below)显示而不是普通的木制背景(#above),直到画廊被选中?(如果是这样,是否有可能让它看起来从屏幕顶部向下滑动?)

头文件.php

<body>
<div class="above">
    <div id="header">
        <div class="logo">
            <a href="<?php bloginfo('url'); ?>"><img src="<?php echo get_template_directory_uri(); ?>/img/logo.png" alt="Urban Palate logo" id="logo" /></a>
        </div><!-- end logo -->
        <nav>
            <ul>
                <li><a href="?page_id=7"><img src="<?php echo get_template_directory_uri(); ?>/img/about.png" alt="Urban Palate intro" /></a></li>
                <li><a href="?page_id=12"><img src="<?php echo get_template_directory_uri(); ?>/img/portfolio.png" alt="Urban Palate portfolio" /></a></li>
                <li><a href="?page_id=15"><img src="<?php echo get_template_directory_uri(); ?>/img/blog.png" alt="Urban Palate blog" /></a></li>
                <li><a href="?page_id=10"><img src="<?php echo get_template_directory_uri(); ?>/img/contact.png" alt="Urban Palate contact" /></a></li>
            </ul>
        </nav>
    </div><!-- end header -->

投资组合.php

<?php
/*
Template Name: Portfolio
*/
?>

<?php get_header(); ?>  

    <div class="gallery">
       <?php     
            if( is_page( 24 ) ) {
              // make your stuff here
               echo do_shortcode('[rev_slider slider1]');
            } else {
              // output standard content here
            }

        ?>

        <?php     
            if( is_page( 26 ) ) {
              // make your stuff here
               echo do_shortcode('[rev_slider slider2]');
            } else {
              // output standard content here
            }

        ?>

        <?php     
            if( is_page( 28 ) ) {
              // make your stuff here
               echo do_shortcode('[rev_slider slider3]');
            } else {
              // output standard content here
            }

        ?>

        <?php     
            if( is_page( 30 ) ) {
              // make your stuff here
               echo do_shortcode('[rev_slider slider4]');
            } else {
              // output standard content here
            }

        ?>

        <?php     
            if( is_page( 32 ) ) {
              // make your stuff here
               echo do_shortcode('[rev_slider slider5]');
            } else {
              // output standard content here
            }

        ?>

        <?php     
            if( is_page( 34 ) ) {
              // make your stuff here
               echo do_shortcode('[rev_slider slider6]');
            } else {
              // output standard content here
            }

        ?>

        <?php     
            if( is_page( 36 ) ) {
              // make your stuff here
               echo do_shortcode('[rev_slider slider7]');
            } else {
              // output standard content here
            }

        ?>

        <?php     
            if( is_page( 42 ) ) {
              // make your stuff here
               echo do_shortcode('[rev_slider slider8]');
            } else {
              // output standard content here
            }

        ?>

    </div><!-- end gallery -->
</div><!-- end above -->
<div class="below">
    <div class="blurb">
        <img src="<?php echo get_template_directory_uri(); ?>/img/portfolio_blurb.png" alt="see who has experienced our fabulous + creative and beautiful + cutting edge decor firsthand" />
    </div><!-- end blurb -->
    <div id="client-list">
        <?php wp_nav_menu( array( 'sort_column' => 'menu_order', 'container_class' => 'menu-header' ) ); ?>
    </div><!-- end client-list -->


<?php get_footer(); ?>
4

2 回答 2

1

可以对上面的代码进行很多改进。调查该switch声明,或至少放弃所有else块。反正,

在你的header.php,尝试

<body>
<div class="above <?php if (is_page(1)) echo 'short'; ?>">
    <div id="header">
        <div class="logo">
        // etc...

您将需要更改is_page(1)部件以获得正确的页码。我不知道你是如何用 WordPress 解决这个问题的,但如果你可以为每个画廊做到这一点,你可以为空的投资组合页面做到这一点。

然后,在您的网站 css 中:

.above.short {
    height: 200px;
}

我的解决方案很丑陋,但它会与你所拥有的其他 PHP 相匹配。如果您为这项工作向开发人员付费,请获得新的开发人员。

了解 WP 的人可能会告诉您如何提供div.above额外的课程,而无需像我所做的那样使用内联代码。这将是一个更好的解决方案。

于 2012-10-11T01:16:17.400 回答
0

你可以用 jQuery 做到这一点。

例如:

// check if the gallery is empty and hide if it is.
if ($('.above .gallery').contents().length == 0){
  $('.above').hide();
}

或使用 css 代替.hideanddisplay:none或将高度设置为 0。

 $('.above').css('height', '0'); 
于 2012-10-11T01:22:56.243 回答