根据当前页面显示不同的页眉图像

时间:2013-03-05 作者:mybecks

我想根据当前页面显示另一个标题图像。

简短示例:

主页->图像A->页面ID 1、2、3、4->图像B(2、3、4是页面1的孩子)

  • 页面ID 5、6->图像C

    <?php
                        // The header image
                        // Check if this is a post or page, if it has a thumbnail, and if it\'s a big one
                        if ( is_singular() && has_post_thumbnail( $post->ID ) &&
                                ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), array( $header_image_width, $header_image_width ) ) ) &&
                                $image[1] >= $header_image_width ) :
                            // Houston, we have a new header image!
                            echo get_the_post_thumbnail( $post->ID, \'post-thumbnail\' );
                        else :
                            // Compatibility with versions of WordPress prior to 3.4.
                            if ( function_exists( \'get_custom_header\' ) ) {
                                $header_image_width  = get_custom_header()->width;
                                $header_image_height = get_custom_header()->height;
                            } else {
                                $header_image_width  = HEADER_IMAGE_WIDTH;
                                $header_image_height = HEADER_IMAGE_HEIGHT;
                            }
                            // echo "here";
                            ?>
    
                        <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
                    <?php endif; // end check for featured image or standard header ?>
    
    因此,我尝试使用以下工具:<?php ?> 便于阅读)

    if(is_home()){
    <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
    }else if(is_page(1){
    <img src="http://.../ImageB.png" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
    }else{
    <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
    }
    
    但这不起作用,反而没有显示标题图像。

    我怎样才能做到这一点?

    比尔,麦贝克

  • 1 个回复
    最合适的回答,由SO网友:tfrommen 整理而成

    else if 缺少右括号:} elseif ( is_page(1) ) {.

    由于您所更改的只是文件名,因此使用以下代码就足够了:

    if ( is_home() ) $my_header_image = get_header_image();
    elseif ( is_page(1) ) $my_header_image = "http://.../ImageB.png";
    elseif ( is_... ) $my_header_image = ...;
    else...
    ?>
    <img src="<?php echo $my_header_image; ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
    

    结束

    相关推荐

    如何在没有`Headers已发送`错误的情况下同时使用`wp_INSERT_USER`和`wp_INSERT_POST`?

    我正在使用创建前端过帐表单wp_insert_post 这要求用户输入三个基本字段:他们的名字、姓氏和电子邮件地址。如果用户已登录,我会预先填充文本字段,并在提交表单时忽略它们。但是,如果用户未登录,“我的功能”会检查if the email entered is registered. 如果是,函数将获取关联的user\\u id并将该用户指定为post\\u作者。如果电子邮件未关联,则通过以下方式创建新用户wp_insert_user.表单返回此错误:Warning: mysql_real_escap