Support » 疑難雜症 » 如何讓不同的 sidebar 呈現在不同的 page?

  • 請教各位, 如題.

    以下, 是我的 page.php code:
    <?php
    /**
    * Template Name: Fullwidth Page
    */

    get_header(); ?>

    <div id=”content”>
    <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
    <div id=”post-<?php the_ID(); ?>” <?php post_class(‘page’); ?>>
    <?php if(has_post_thumbnail()) {
    echo ‘‘;
    echo ‘<figure class=”featured-thumbnail”><span class=”img-wrap”>’; the_post_thumbnail(); echo ‘</span></figure>’;
    echo ‘
    ‘;
    }
    ?>

    <?php the_content(); ?>
    <div class=”pagination”>
    <?php wp_link_pages(‘before=<div class=”pagination”>&after=</div>’); ?>
    </div><!–.pagination–>
    </div><!–#post-# .post–>

    <?php endwhile; ?>
    </div><!–#content–>
    <?php get_footer(); ?>

    以下, 是我的 sidebar.php code:
    <aside id=”sidebar” class=”grid_5 maxheight <?php if (of_get_option(‘blog_sidebar_pos’)==’right’) {echo ” prefix_1″;} else {echo ” suffix_1″;} ?>”>
    <?php if ( ! dynamic_sidebar( ‘Sidebar’ )) : ?>
    <div id=”sidebar-search” class=”widget”>
    <?php echo ‘<h3>’ . __(‘Search’, ‘theme1556’) . ‘</h3>’; ?>
    <?php get_search_form(); ?> <!– outputs the default WordPress search form–>
    </div>

    <div id=”sidebar-nav” class=”widget menu”>
    <?php echo ‘<h3>’ . __(‘Navigation’, ‘theme1556’) . ‘</h3>’; ?>
    <?php wp_nav_menu( array(‘menu’ => ‘Sidebar Menu’ )); ?> <!– editable within the WordPress backend –>
    </div>

    <div id=”sidebar-archives” class=”widget”>
    <?php echo ‘<h3>’ . __(‘Archives’, ‘theme1556’) . ‘</h3>’; ?>

      <?php wp_get_archives( ‘type=monthly’ ); ?>

    </div>

    <div id=”sidebar-meta” class=”widget”>
    <?php echo ‘<h3>’ . __(‘Meta’, ‘theme1556’) . ‘</h3>’; ?>

      <?php wp_register(); ?>

    • <?php wp_loginout(); ?>
    • <?php wp_meta(); ?>

    </div>
    <?php endif; ?>
    </aside><!–sidebar–>

正在檢視 4 則回覆 - 1 至 4 (共計 4 則)
  • 我真的以照你標題的說法
    你PO這段程式碼沒太大意議
    依照WP page的設定,page裡可以有多個模板可以選擇
    但必須佈景主題要有支援多個模板,page裡才有模板可以選擇
    增加page模板很簡單
    只要在你做好的pgae模板上方加上下面的CODE
    <?php
    /**
    * Template Name: 你的模版名稱(這裡的名稱為page模板選擇名稱)
    */
    ?>
    就可以在page看到
    至於所說不同的 sidebar的意思
    等你說清楚在回答你

    Thread Starter seroct

    (@seroct)

    To nonelin:
    謝謝您指點.

    我說的 不同的sidebar, 意思是, 比方說我的網站上要放三大類不同的內容 – A, B, C.,
    而每一大類內容下面又各自有細項 – a1, a2, a3, a4, b1, b2, b3, b4, c1, c2, c3, c4, …etc.
    我希望做三個 sidebar: sidebar_A, sidebar_B, sidebar_C,
    然後, 讓 sidebar_A 裏面有 a1, a2, a3….; sidebar_B 裏面有 b1, b2, b3…, sidebar_C 裏面有 c1, c2, c3….
    之後, 某些 page 的 sidebar 套用 sidebar_A, 某些 page 的 sidebar 套用 sidebar_B, 而某些 page 的 sidebar 套用 sidebar_C

    在不同的頁面(page)要呈現不同的sidebar你照你的意思有兩種做法
    第一種作法比較麻煩牽扯到一堆WP的呼叫CODE我不細說(這不是幾行字可以說清楚的)我只講架構
    增加頁面(page)模板,頁面(page)模板內需呼叫不同的sidebar.php檔(呼叫不同檔名sidebar.php檔)
    修改functions.php增加模組欄位,以對應不同的sidebar
    這樣就可以在不同的頁面(page)顯示不同的sidebar
    第二種因該算最簡單的
    有一支外掛他可以控制sidebar內的模組顯示與隱藏
    或是指定模組只顯示在某個頁面(page)下面是外掛名稱與中文介紹
    display widgets
    http://dafatime.idv.tw/?p=1635

    前者可以運的彈性較大,意思是說,你可以製作不的模板
    模板內的版型可以有不同的變化(如三欄或兩欄)
    後者固定模板,只有頁面(Page)內容與sidebar內容在變化

    前者的作法我不再詳述,請以我說的方向去爬文
    後者的做法是不是你想要的我就不清楚
    在WP有些功能性的都東西大部分都能用PLUGIN(外掛)解決
    多逛逛外掛(尤其是英文官網)

    Thread Starter seroct

    (@seroct)

    to nonelin:
    感謝您指點.
    感謝, 感謝!

正在檢視 4 則回覆 - 1 至 4 (共計 4 則)
  • The topic ‘如何讓不同的 sidebar 呈現在不同的 page?’ is closed to new replies.