クールでかっこいいワードプレステーマ を カスタマイズすべ
クールでかっこいいワードプレステーマ を カスタマイズすべ > このサイトのカスタマイズ > このサイトのテーマのカスタマイズ(新着を出すようにした)

このサイトのテーマのカスタマイズ(新着を出すようにした)

トップの編集をしやすいように、固定ページでトップページを書いているんだけど、やっぱトップページらしく、サイトの情報を表示する必要がある。
通常のトップページは、ウィジェットを張れば好きなパーツを張り込めるんだけど、固定ページでトップページを作った場合、そうはいかない。
パーツの機能は、自分でPHPを書くとかするしかない。

それはとても不便。

固定ページのテンプレートをindex.php(トップページのテンプレート)と同じようにカスタマイズしちゃれ。
 
ってのが、安直、かつ、ひよっこだったころの話。
固定ページのテンプレートは、page.php ってのは、ご存知かな?
投稿ページは、single.php ってのがテンプレート。
だから、固定ページにウイジェットとかパーツを張り込みたいときは、page.php をいじってやればいい。
けどね、そうすると全部の固定ページに影響する。
 
なので、トップページ用の固定ページのテンプレートを作ってそれを使うようにすればいいんだ。
 
まずは、ひな形の page.php をダウンロードしてくる。(theme/a9011の中にある)
<?php
get_header();
?>

<article>
<h1 class="post-title"><?php single_post_title() ?></h1>

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="doc"><?php the_content(); ?></div>
</article>
<!-- /page.php -->
  
<br />  
見やすいようにちょっと空行を打ち込んであるけど、h1 の前に新着のウィジェットをいれたいわけ。
ウィジェットってのは、ウィジェットエリアに張り付けて使うよね?だから、ここには、直接新着のパーツを持ってくるんじゃなくて、ウィジェットエリアの表示パーツを持ってくればいいんだ。
 
インフォメーションってウィジェットエリアは、トップページ専用で(index.php)、そのトップページは使わないわけだから、この「インフォメーションってウィジェットエリアを使おう。
2015y01m23d_125147160
 
どうやったらインフォメーションのウィジェットエリアが表示されるんだ?
もともと使ってる index.php を見てやると・・・
<?php get_header(); ?>
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('インフォメーション') ) : ?>
<?php include(TEMPLATEPATH.'/info.php') ?>
<?php endif; ?>
<div class="clr"></div>
いたぁ~!
気を付けてほしいのは、php の if ね? 以下の4パターンがある。
これをかたまりにして取り扱わないとphpの文法エラーになってしまう。
if(~~){
}

if( ~~ ){
}else{
}

if( ~~ ):
endif;
 
if( ~~ ):
else;
endif;
インフォメーションウイジェットエリアを表示しているのは、3番目のパターンだね?
この3行をもってくればいいんだ。
 

固定ページをカスタマイズしてトップページ専用にする

  1. page.php をダウンロードしてくる
  2. ダウンロードしてきた page.php を適当な(例えば、front_page.php)に名前を変える
  3. front_page.php をテラパッドで開く。⇒テラパッド
  4. こんな感じで front_page.php にテンプレートの証とインフォメーションウィジェットエリア表示のパーツを埋め込む。
    /*
    Template Name: トップ固定ページ
    */ ?>
    <?php
    get_header();
    ?>
    
    <!-- front_toppage.php -->
    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('インフォメーション') ) : ?>
    <?php include(TEMPLATEPATH.'/info.php') ?>
    <?php endif; ?>
    <div class="clr"></div>
    
  5. front_page.php を UTF-8N で保存する。
    名称未設定-1
     
    名称未設定-2
  6. front_page.php をテーマのディレクトリへアップロードする
  7. トップページに使用としてる固定ページの編集
  8. テンプレートから 「トップ固定ページ」を選んで「更新」
    2015y01m23d_131255762
  9. 設定->表示設定で フロントページのところでトップページにする固定ページを選択して保存
    2015y01m23d_131341721
  10. ウィジェット->インフォメーション に 「最近の投稿」ウィジェットを張り付ける
で、できちゃったってね。
 
|<<先頭へ | <前へ