WP開発メモ 更新日:2018年03月27日

WPによるサイト作成にあたって個人的備忘録としてのページ

プラグイン(PlugIn)を利用するためには、「wp-head()」なるものを記述しないと多くのPlugInは正常に動かない。以下のphpをheadから/headの間に記述するが、通常は/headの前。

<?php wp_head(); ?>

ウィジェット機能を使うには、「functions.php」なるファイルを作成し、以下のように記述する。

<?php
    // ウィジェット
    register_sidebar();
?>

1.「functions.php」に以下のように記述

<?php
    add_theme_support('post-thumbnails');
    set_post_thumbnail_size(800,180,true);
?>

2.ヘッダー画像の表示部分を以下のようにする

<?php if (has_post_thumbnail($post->ID)): ?>
    <p><?php echo get_the_post_thumbnail($post->ID); ?></p>
    <?php else: ?>
    <p><img src="<?php header_image(); ?>"
       width="<?php echo HEADER_IMAGE_WIDTH; ?>"
       height="<?php echo HEADER_IMAGE_HEIGHT; ?>" /></p>
    <?php endif; ?>
?>

3.アイキャッチ画像のアップ
 1)挿入したいページを編集画面で開き、アイキャッチ画像の「アイキャッチ画像を設定」をクリック
 2)「自分のコンピューターからメディアファイルを追加」で、
  「コンピュータ」からでローカルPCの画像アドレスを指定。
 3)配置:中央 サイズ:フルサイズ
 4)「アイキャッチ画像として使用」クリック
 5)「変更を全て保存」をクリック
 6)「アイキャッチ画像設定」のボックスを閉じる
 7)固定ページの「アイキャッチ画像」に所に入れた画像が表示される。

<?php if(is_page('ページタイトル')): ?>
 上記ページでの出力
<?php else: ?>
  上記以外での出力
<?php endif; ?>

このページでは、ヘッダー画像を「特定ページ出力」を使って、他のページと異なるヘッダー画像を表示している。当サイトの「header.php」は1個にしたので、header.phpに以下のような構文で3種のヘッダー画像を使い分けてみた。尚、header.phpを3種作って使い分けてもよいのかも!

<?php if(!(is_page('サイトトップ'))): ?>
  <?php if(is_page('253') ): ?>
      <p id="image">
        <img src="<?php bloginfo('template_url'); ?>/header-memo.jpg" alt="*" width= "900" height= "150">
      </p>
  <?php else: ?>
    <p id="image">
      <img src="<?php bloginfo('template_url'); ?>/header-new.jpg" alt="*" width= "900" height= "150">
    </p>
  <?php endif; ?>
<?php endif; ?>

http://WordPressのインストールurl/wp-login.php

1.カスタムメニュー方式(レッスンブック STEP6-4)
  1)カスタムメニューの有効化:「functions.php」ファイルに記述

// カスタムメニュー
register_nav_menus(array('navigation' =>'ナビゲーションバー'));

  2)メニューの作成
「管理画面」→「メニュー画面」で「メニューの名前」欄で名前を付けて、「メニューを保存」
「ページ」で「全て表示」し、メニューにするページを選択し、「メニューに追加」。
右側にメニューが追加されるので、表示順はドラッグして変更する。

  3)メニューの出力(表示)
該当ページテンプレートの表示位置に以下の構文を入れる

<?php wp_nav_menu(array('theme_location' => '2)で付けたメニューの名前')); ?>

ウィジェットを使ってサイドバーに「カスタムメニュー」を挿入する方法もある。このサイトでは、ブログにサイドバーを使っている関係でウィジェットは利用していない。尚、サイドバーを増やす方法がある。
・サイドバーを増やす参考サイト:http://c-graphiate.com/?p=172

  4)メニューのデザイン設定
上記で出力された状態は、「ul li」のリスト形式なので、メニューの体裁を付ける(レッスンブックでは)

/* ナビゲーションバー */
div#nav     {clear:both;
        width:100%}

div#header  {margin-bottom: 0}

div#nav ul  {background-color: #000000;
        padding: 8px 0;
        margin: 0 0 20px}

div#nav li a    {font-size: 0.75em;
        color: #ffffff;
        text-decoration: none}

div#nav li a:hover  {color: #ffaa00}
 
div#nav li  {display: inline;
        list-style-type: none;
        border-right: solid 1px #ffffff;
        padding-left: 15px;
        padding-right: 15px}

2.パーツテンプレート方式
このページ(WP開発メモ)は、単純にメニューのリスト(Pタグ)で、phpファイルを作成し、ページテンプレートのメニュー挿入位置に以下の構文で読み込んでいるだけ。ページの一部(メニュー)をphpファイルとして利用しているのでパーツテンプレート方式としている。
  1)任意のファイル名でリンクを含めてメニューリストを作成し、アップロード

  2)以下の構文でメニューファイルをページテンプレートのメニュー位置に読み込む。

<?php get_template_part('memomenu'); ?>

<a href="<?php echo get_permalink(253); ?>">WP開発メモ</a>

固定ページのURL「/?page_id=253」の数値をそのまま記述。

サイトのページ構成とそれぞれのデザインレイアウトの設計は、WPでも全く同じであることは当然として、WPで各ページの作成に入る時大きな相違は、
  ☆ デザインレイアウトが異なるページに、そのページ用の「ページテンプレート」が必要
  ☆ デザインレイアウトが違えば、「スタイルシート」の記述もページテンプレートに合わせた工夫が必要

WPでのサイト作成の要領は、「テンプレート」に尽きる。テンプレートの作成要領が理解できれば、WPによる基本的なサイトは作成できると言っても過言ではない。
WPの開発要領として、
1.プラグイン:WPには非常に多くのプラグと呼ばれるサブプログラムがあり、ほとんどが無料で利用できる。
当サイトのプラグイン
2.ネット上には、WP関する情報が非常に多い、是非この情報を利用したい。
3.php言語については、勉強するに越したことはないが、ネット情報やWPレッスンブックの情報で普通のサイトは充分作成できる。また、多くのphpテンプレートがネット上に公開されているので、是非活用したい。

固定ページ中心の設計は、このページでは長くなるので、サンプルサイト(現在編集中)を作成している。

記事表示の必須タグ、「投稿記事があれば」「繰り返し表示する」という2つの命令文で構成されている。以下は、記事があったとき、記事タイトルと記事内容を表示している。

<?php if(have_posts()):while(have_posts()):the_post(); ?>
  <?php the_title(); ?>
  <?php the_content(); ?>
<?php endwhile;endif; ?>

記事があれば記事タイトルと内容、なければ「記事がありません。」の場合、

<?php if(have_posts()):while(have_posts()):the_post(); ?>
    <?php the_title(); ?>
    <?php the_content(); ?>
<?php endwhile;else: ?>
    <p>記事がありません。</p>
<?php endif; ?>

このサイトでは、トップページ用のページテンプレートに、以下のように記述している。

最新更新日:<?php echo mysql2date('Y年m月d日', get_lastpostmodified(), false); ?>

プラグインに必須の関数「wp_head()」を入れると上下に隙間が出来る。この解除方法が以下のホームページに記述されている。「functions.php」に以下のように記述するとある。

add_filter( 'show_admin_bar', '__return_false' );

解除方法

Counterize2の表示させるphp文を以下のように変える

<?php $num = 1000 + counterize_getamount(); echo $num; ?>

  上記は「1000」から始める場合。