更改特定页面上的标题顶部横幅内容

时间:2013-09-18 10:21:18

标签: php wordpress function conditional customization

我的header.php文件中有一个静态顶部横幅,如下所示:

<div class="row-fluid top-banner">
    <div class="container">
        <div class="banner-overlay"></div>
        <?php 
        $logo = of_get_option('logo', '' );
        if ( !empty( $logo ) ) { ?>
            <a class="brand brand-image" href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><img src="<?php echo $logo; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"><h1><?php if(!of_get_option('disable_description')){ ?><small><?php bloginfo( 'description' ); ?></small><?php } ?></h1></a>
        <?php }else{ ?>
            <a class="brand brand-text" href="<?php echo home_url( '/' ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><h1><?php bloginfo( 'name' ); ?><?php if(!of_get_option('disable_description')){ ?><small><?php bloginfo( 'description' ); ?></small><?php } ?></h1></a>
        <?php } 
        if(of_get_option('disable_description')){ $top_banner_fix = 'style="top:15px;"'; }else{ $top_banner_fix = ''; }
        ?>

    </div>
</div>

我想要做的是更改特定页面上的顶部横幅div内容,在我的情况下,从仪表板创建的联系页面不是模板页面。

所以,我正在考虑使用条件标签:<?php is_page($page); ?> 问题是我不知道如何使用这个功能。是否可以在div中添加一些标记,它会覆盖现有的标记?

你能告诉我一些关于我该怎么办的说明吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

is_page是一个布尔函数,所以它就像新的if else子句一样简单:

<div class="row-fluid top-banner">
    <div class="container">
        <div class="banner-overlay"></div>
        <?php 
        $logo = of_get_option('logo', '' );
        if (is_page($contactPage)) { 
            /*PUT STATIC CONTENT HERE*/
        } else if ( !empty( $logo ) ) { ?>
            <a class="brand brand-image" href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><img src="<?php echo $logo; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"><h1><?php if(!of_get_option('disable_description')){ ?><small><?php bloginfo( 'description' ); ?></small><?php } ?></h1></a>
        <?php }else{ ?>
            <a class="brand brand-text" href="<?php echo home_url( '/' ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><h1><?php bloginfo( 'name' ); ?><?php if(!of_get_option('disable_description')){ ?><small><?php bloginfo( 'description' ); ?></small><?php } ?></h1></a>
        <?php } 
        if(of_get_option('disable_description')){ $top_banner_fix = 'style="top:15px;"'; }
        else{ $top_banner_fix = ''; }
        ?>
    </div>
</div>

对于$contactpage:当您登录到Wordpress管理网站时,请转到前端。然后转到联系页面(您要使用此新内容的页面)。点击顶部横幅中的修改。看看链接。 (您也可以通过仪表板到达那里)。

链接看起来有点像这样:post.php?post=280&action=edit 在这种情况下,该数字是页面的ID。您可以将其用于$contactPage

if (is_page(280)) { /*...*/ }

希望这会有所帮助:)

答案 1 :(得分:0)

对于所有页面和帖子上的不同横幅,您可以使用Attachment Plugin,然后必须在function.php文件中为其创建实例。然后,您可以在所有页面中看到附件元数据,并在管理面板中发布表单页面。

试试这个并告诉我是否需要进一步的帮助。

谢谢!