0

次のように、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 内にマークアップを追加するだけで、既存のものを上書きすることはできますか?

どうすればこれを行うことができるかについて、いくつかの指示を教えてください。ありがとうございました!

4

2 に答える 2

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 になります。この場合は 280 という数字がページの ID です。あなたはそれを使うことができます$contactPage

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

お役に立てれば :)

于 2013-09-18T11:49:53.033 に答える
0

すべてのページと投稿の異なるバナーには、Attachment Pluginを使用して、そのインスタンスを function.php ファイルに作成する必要があります。その後、管理パネルのすべてのページと投稿フォーム ページでその添付ファイル メタボックスを確認できます。

これを試して、さらにサポートが必要な場合はお知らせください。

ありがとう!

于 2013-09-18T13:36:05.033 に答える