タグ別アーカイブ: wordpress

プラグインを使わないで、関連する投稿記事を表示する

WordPressには、標準装備以外の機能を追加してくれるプラグインが数多く配布されています。
とても便利なのでついつい、あれもこれもとインストールしてしまいがちですが、メリットがあれば当然デメリットもあるわけで。
プラグインを入れ過ぎるとアップデート作業も増えますし、めったにないことですがアップデートの際に重大な不具合を起こすリスクもあります。

WordPress Related Postsのアップデートでエラー

この前、WordPress Related Postsのアップデートで、そのめったにない不具合を経験しました。
WordPress をバージョン 4.8 に更新して、そのあとWordPress Related Postsをバージョン 3.6.4 にアップデートしようと更新ボタンを押した途端、画面が真っ白!何も表示されない状態になってしまいました。
管理画面も真っ白で入ることができず、私の頭の中も真っ白に!
本来ならこんなトラブルの時こそ、エラーの原因を追究してスキルを上げるチャンスなのですが、真っ白な画面が恐ろしくて気持ちの余裕をなくし、すぐにFFFTPを立ち上げてサーバーからWordPress Related Postsを削除しました。
それで一応問題なくサイトは復旧しました。

あとから検索するとこのエラーに対して、解決法がネットにありました。
原因は「PHPのバージョンが5.3以下だと作動しない」ことだそうです。

参照サイト:

【WordPress】関連記事プラグインRelated Postsエラーの解決方法

プラグイン無しで関連投稿記事を表示させる方法

WordPress Related Postsはバックアップを取ってあったので、旧バージョンをサーバーにアップし、そのまま使い続けていました。こんな感じで関連記事を表示させています。

しかし、このプラグインのアップデートは当分できないので、この際、プラグインを使わず関連投稿記事を表示させてみることにします。

以下のサイトを参照させていただきました。ありがとうございます!

WordPressのサムネイルつき関連記事を表示する

プラグインなしで関連記事を表示する方法[WordPressカスタマイズ]

『WordPressのサムネイルつき関連記事を表示する』のコードでは、サムネイルの下にタイトルといった形で横並びに5個表示されます。
プラグインなしで関連記事を表示する方法[WordPressカスタマイズ]』のコードでは、サムネイルの横にタイトルと記事の抜粋を表示し、それを10個縦に並べたスタイルになります。
どちらも関連した記事を、ページを読み込むごとにランダムに表示させます。

新規にテンプレートを作成する
related-entries.php

テーマ内にrelated-entries.phpというファイルを新規に作成します。
コードは下記のようにしました。

<?php
//カテゴリ情報から関連記事を5個ランダムに呼び出す
$categories = get_the_category($post->ID);
$category_ID = array();
foreach($categories as $category):
  array_push( $category_ID, $category -> cat_ID);
endforeach ;
$args = array(
  'post__not_in' => array($post->ID,'booklist'),
  'posts_per_page'=> 5,//表示させる個数
  'category__in' => $category_ID,
  'orderby' => 'rand',//ランダムに表示させる
);
$query = new WP_Query($args); ?>
  <?php if( $query -> have_posts() ): ?>
  <?php while ($query -> have_posts()) : $query -> the_post(); ?>
     
     <ul class="related-entry">
      <li class="related-entry-thumb">
  <a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">
        <?php if ( has_post_thumbnail() ): ?>
        <?php the_post_thumbnail(array(100,100)); //サムネイルのサイズ?>
        <?php endif; ?>
        </a>
      </li>
             <li class="related-entry-title"> <a href="<?php the_permalink(); ?>">
          <?php the_title(); ?>
          </a></li>
    </ul>

  <?php endwhile;?>
  <?php else:?>
  <p>記事はありませんでした</p>
  <?php
endif;
wp_reset_postdata();
?>
<br style="clear:both;">

下記のコードをテーマのテンプレートの表示させたい所に挿入します。
一般的にはsingle.phpに表示させるようです。


 <!-- 関連する投稿ここから -->             
                
            <div id="related-entries">
  <h3>関連する投稿</h3>
  <?php include( TEMPLATEPATH . '/related-entries.php' ); ?>
</div><!-- #related-entries --> 
     <!-- 関連する投稿ここまで -->  

(※)今までWordPress Related Postsを導入していた場合は、テンプレートに記述してある以下のコードを必ず削除しましょう。

<?php wp_related_posts()?>

style.CSSのコードも書いておきます。あまり参考にならないかもしれませんが・・・

/****************************************

          関連記事(Relation)

*****************************************/
#related-entries h3 {
	font-size:20px;
	line-height: 1.5em;
	margin-top: 10px;
	margin-left: 10px;
}
#related-entries {
	background-color: #F4F4F4;
	width: 590px;
	height: 290px;
	border: 1px solid #DADADA;
	border-radius: 10px;
	margin-top: 100;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 0px;
	padding: 0;
}
.related-entry {
	font-size: 0.8em;
	line-height: 1.2em;
	float: left;
	width: 112px;
	padding-top: 8px;
	padding-left: 5px;
}
.related-entry-thumb {
	background-color: #FFF;
	float: left;
	width: 100px;
	height: 100px;
	border: 1px solid #DADADA;
	border-radius: 10px;
	margin-bottom: 5px;
	padding: 5px;
	margin-right: 5px;
}
.related-entry-title{
	float: left;
	clear: none;
	width: 100px;	
	margin-bottom:5px;	
	padding-right: 5px;
	padding-left: 5px;
}

仕上がりはこんな感じです。5個の関連記事を横並びにしてみました。

一つプラグインを減らすことができて、ちょっとスッキリです。と言いたいところですが、こんな記事を見つけました。

【WordPress】プラグイン選びのポイント~悪いプラグインって何?

私もプラグインをあれこれ入れてみては削除し、を繰り返してきたのでデータベースには相当ゴミがたまっているはず。次回は、溜まったゴミを削除するプラグインClean Optionsを試してみたい。

WordPress4.4で掲示板を作る

以前、「wordpressで掲示板を作る」にWordPressのコメントフォームを利用して掲示板を作る方法を紹介しました。

コメントフォームをそのまま使うと、メールアドレスやウェブサイトの入力項目が表示されます。
メールアドレスが入力必須項目となっていると、掲示板としては気軽にコメントしずらい気がします。
かといって、WordPressのディスカッションの設定では、メールアドレスだけ必須項目から外すということができません。
それで、テンプレートを少し書き直すことで、ウェブサイトの項目を削除し、メールアドレスを入力必須項目から外し、名前だけを必須にするようなフォームを作りたかったのです。

WordPressのメジャー アップグレードの際には、その都度テンプレートのコードを書き直す、という手間さえかけてきたのですが、それが今回、WordPress4.4へのアップグレードからテンプレートの仕様が変わって、以前の方法が通用しなくなってしまいました。

というわけで、何か他の方法はないかと検索したところ、なんと以前よりも簡単なカスタマイズをみつけましたのでメモしておきます。

WordPress4.4で掲示板を作る

掲示板を作成する手順は「wordpressで掲示板を作る」と同じです。
手順②の「メールアドレスは入力必須項目から外し、webアドレスの入力フォームは削除する。」という部分を変更します。

(A),(B)の2パターンメモしておきます。

(A)名前は入力必須にして、メールアドレスは入力しなくても承認されるようにし、ウェヴサイトの項目は削除する場合

keijibann01

  • WordPressのディスカッションの設定で、「名前とメールアドレスの入力を必須にする」のチェックを外します。(チェックを入れるとメールアドレスの項目にも必須マーク(*)が付いてしまうため。)
  • テーマのfunctions.phpに以下のコードを追加します。
  • 自動的に代替メールアドレスが表示されるようになります。

//コメントフォームの変更
 
// コメントからウェブサイトを削除
function my_comment_form_remove($arg) {
$arg['url'] = '';
return $arg;
}
add_filter('comment_form_default_fields', 'my_comment_form_remove');
 

//名前は必須項目にする

function preprocess_comment_author( $commentdata ) {
 if ("" === trim( $commentdata['comment_author'] ))
 wp_die('お名前を入力して下さい。');
 return $commentdata;
}
add_filter('preprocess_comment', 'preprocess_comment_author', 2, 1);
/* comment-template.phpの配列$argsのカスタマイズ */
add_filter('comment_form_defaults', 'comment_form_customize_args');
function comment_form_customize_args($args) {
 // コメントフォームの前の文言を変更
 $args['comment_notes_before'] = '

お名前は必須項目です。
メールアドレスが公開されることはありません。

';
 return $args;
}

//メールアドレス項目を入れたときの設定(未入力時は自動でメールアドレスを設定する)

if (basename($_SERVER["REQUEST_URI"]) == "wp-comments-post.php") {
 if ($_POST['email'] == null || $_POST['email'] == '') {
 $_POST['email'] = 'guest@example.com';
 }
}

(B)名前を必須項目にして、メールとウェヴサイトの項目を削除する場合

keijibann00

  • WordPressのディスカッションの設定で、「名前とメールアドレスの入力を必須にする」にチェックを入れます。(名前のところに必須マーク(*)を付けたいので)
  • テーマのfunctions.phpに以下のコードを追加します。

//コメントフォームの変更
 
// コメントからEmailとウェブサイトを削除
function my_comment_form_remove($arg) {
$arg['url'] = '';
$arg['email'] = '';
return $arg;
}
add_filter('comment_form_default_fields', 'my_comment_form_remove');
 

/* comment-template.phpの配列$argsのカスタマイズ */
add_filter('comment_form_defaults', 'comment_form_customize_args');
function comment_form_customize_args($args) {
 // コメントフォームの前の文言を変更
 $args['comment_notes_before'] = '

 お名前は必須項目です。

';
 return $args;
}

//自動でメールアドレスを設定する(メールアドレス項目を削除した場合も設定する)

if (basename($_SERVER["REQUEST_URI"]) == "wp-comments-post.php") {
 if ($_POST['email'] == null || $_POST['email'] == '') {
 $_POST['email'] = 'guest@example.com';
 }
}

以前はWordPress本体のテンプレートを2個書き直していましたが、今度はテーマのfunctions.phpに追加記述するだけなので、WordPressの メジ’ャー アップグレードのたびに書き直す必要がなくなり、ちょっと楽になりました。

下記ブログを参考にさせていただきました。
下記ブログを参照して、自分なりのカスタマイズを試してみることをお勧めします。

IE8のレイアウト崩れは直ったみたいですが・・・

20150705-0一昨日「ブラウザチェックツールを使ってみたらIE8で完全にアウトだった!!」に書いたように、「IEテスタ」をインストールしてIEのバージョン5.5~11をチェックしてみたところ(5.5と6は仕方ないとしても)8でもレイアウトが崩れていて愕然としました。
レイアウトの崩れと言えば、やはりcssの書き方、特にfloat、margin、paddingの扱いに原因がありそうなので、cssを精査してみました。

私のブログはWordPresssのデフォルトテーマ「Twenty Twelve」バージョン 1.7をカスタマイズして作成しているので、「Twenty Twelve」のcssと見比べながら、不要なfloatを見つけて削除し、それでも崩れが直らず焦りましたが、最終的には下図のようにbodyに

margin-top: 0px;
margin-right: auto;
margin-bottom: 0px;
margin-left: auto;

を追記したところでレイアウト崩れが直りました。
左側が「Twenty Twelve」のcss。右側が修正後の当ブログのcss。あれ?これで良かったのか?

2015070703
まあ、崩れが直ったんだからいいじゃないかって思いたいのですが、他にきちんとした対応の仕方があるのじゃないか?他のブラウザではもっと酷いレイアウト崩れを起こしているのではないか?と不安が募るのは私が知識不足である証拠です。
この夏には、是非ともHtml5とcss3を学習しておきたい。

それにしても、IEのバージョン格差は何とかならないものか?
ブラウザに関しては世界統一を望みます。

ブラウザチェックツールを使ってみたらIE8で完全にアウトだった!!

20150705-4そろそろHTML5について本気で勉強しなければと本を購入しました。
と、その前に久しぶりにブラウザチェックをすることに。
Windows7を使い始め、ブラウザをGoogle Chromeに変えてからというもの、IEの存在を忘れつつありました。
しかしWeb上ではまだまだIEを使っている人が多いはず。そこでIEに特化したブラウザチェックツールを手に入れることに。

IEなどの複数のブラウザチェックができる便利な無料ツールまとめ (NESTonline Blog)参照」

上記サイトで紹介されていた、無料ソフトIEテスタ」をインストールしてみました。
これがなかなかの優れもので、IE5.5~11まで一括して動作確認ができます。
ダウンロードサイトはこちら → http://www.my-debugbar.com/wiki/IETester/HomePage

下図がIEテスタ」上の表示画面です。

20150705-1

予想していたことですが、IE5.5と6ではレイアウトがガチャガチャに崩れていて観れたもんじゃありませんでした。でももう対応する能力がなくIE6以前については諦めることにしました。
しかし、残念なことにIE8でも下記図のごとく崩れていました。
いつからこんな姿になっていたのか?
Windows XPのサポートが終了しているとは言え、IE8を使っている人は多いと思われるので何とかしなければと思うのですが、今日のところはどこをどう修正したらよいのか分からずじまい。
しばらくは御見苦しい姿をさらしたままということになりそうです。

20150705-0

こちらは携帯やタブレットなどの表示を確認できるサイト「Responsive Design Testing」です。インストール無し、登録不要、web上で無料で利用できます。お手軽ですね。
20150705-2

WP”カスタム投稿タイプ”を使ってブログを複数追加する

WordPressには「投稿タイプ」と「固定ページタイプ」の2種類のコンテンツがあります。
ブログや更新情報、商品情報などのように、常に記事や情報を追加して、ページが増えていくような場合は「投稿タイプ」を使用し、プロフィールや、お問い合せ欄などのように、1枚のページで収まるような場合は「固定ページ」と、使い分けするようになっています。
「固定ページ」は何個でも新規追加できますが、「投稿タイプ」は1個のWordPressに1個が標準装備です。
通常、ブログ機能は1つしかない。1つじゃ物足りないと思ったことはありませんか?

ブログを複数持ちたい場合は、「WordPressのマルチサイト機能で複数サイトを作る」という手もありますが、新たにWordPressをインストールしたくはない、既に運用しているWordPressに別個のブログをちょっと増やしたいだけ、という場合「カスタム投稿タイプ」が簡単で便利です。

というわけで、固定ページタイプで作成した「読書リスト」ページを、「カスタム投稿タイプ」を使って、ブログ形式のページに作り直してみました。単に「カスタム投稿タイプ」を使ってみたいという好奇心だけでやってみましたので、「カスタム投稿タイプ」を作成する一例として、参考程度にご覧ください。

  1. 「カスタム投稿タイプ」を利用してブログを一つ追加する。
  2. 「カスタム投稿タイプ」のカテゴリーを設定できるようにする。
  3. 「カスタム投稿タイプ」を表示させる固定ページを作成する。
  4. カテゴリー別の一覧ページが表示されるようにする。
  5. 「カスタム投稿タイプ」を利用してブログを複数追加する。
  6. 「投稿が見つかりません」とか「404エラー」画面が表示された場合の対処法

1.「カスタム投稿タイプ」を利用してブログを一つ追加する。

functions.phpに以下のコードを追記します。
下記の「booklist」と「読書リスト」という記述は全て、任意の名前に置き換えてください。

// ===========================
// = カスタム投稿 =
// ===========================
function new_post_type(){
 //読書リストページ
 register_post_type(
 'booklist',
 array(
 'label' => '読書リスト',
 'public' => true,
 'hierarchical' => false,
 'has_archive' => true,
 'supports' => array(
 'title',
 'editor',
 'thumbnail',
 'excerpt'
 ),
 'menu_position' => 5
 )
 );
}
add_action('init', 'new_post_type');

7行目のbooklist 英数半角の任意の名前。あとから変更するのは面倒なので、最初できっちり決めておく。
label 任意の名前。日本語でOK。管理画面のメニューに表示される。
public 公開、編集の項目
has_archive trueにするとarchiveが自動的に生成される。
supports 記事編集画面に表示する項目。ここでは、「タイトル」、「本文」、「アイキャッチ画像」、「抜粋」の4項目を指定している。
menu_position 管理画面のメニューに表示する位置。5は「投稿」の下の位置を指定している。
‘menu_position’ で位置指定する数値について

  • 5 – 投稿の下
  • 10 – メディアの下
  • 15 – リンクの下
  • 20 – 固定ページの下
  • 25 – コメントの下
  • 60 – 最初の区切りの下(コメントの下に区切りがある)
  • 65 – プラグインの下
  • 70 – ユーザーの下
  • 75 – ツールの下
  • 80 – 設定の下
  • 100 – 二つ目の区切りの下(設定の下に区切りがある)
    WordPress Codex 日本語版関数リファレンス/register post type」参照

参考サイト:

上記のコードを追加してfunctions.phpをサーバーにアップすると、管理画面のメニューに「読書リスト」の項目が表示されます。
custom01
カスタム投稿の投稿編集ページは下図ようになります。
custom03-1

2.「カスタム投稿タイプ」のカテゴリーを設定できるようにする

functions.phpに、さらにコードを追記します。
”タクソノミーの作成”以下がカテゴリーを設定できるようにするコードです。

// ===========================
// = カスタム投稿 =
// ===========================
function new_post_type(){
 //読書リストページ
 register_post_type(
 'booklist',
 array(
 'label' => '読書リスト',
 'public' => true,
 'hierarchical' => false,
 'has_archive' => true,
 'supports' => array(
 'title',
 'editor',
 'thumbnail',
 'excerpt'
 ),
 'menu_position' => 5
 )
 );
 //タクソノミーを作成
 register_taxonomy(
 'booklist_cat',
 'booklist',
 array(
 'label' => '読書リストカテゴリー',
 'labels' => array(
 'popular_items' => 'よく使う読書リストカテゴリー',
 'edit_item' => '読書リストカテゴリーを編集',
 'add_new_item' => '新規読書リストカテゴリーを追加',
 'search_items' => '読書リストカテゴリーを検索',
 ),
 'public' => true,
 'hierarchical' => true,
 'rewrite' => array('slug' => 'booklist_cat')
 )
 );
 }
add_action('init', 'new_post_type');

booklist_catは1.で決めた任意の名前のうしろにcatをつけたものです。booklistcatと書いてもOKです。
コードを追記してfunctions.phpをサーバーにアップすると、下図のように、管理画面の「読書リスト」メニューに、「読書リストカテゴリー」の項目が表示されます。custom02-1カスタム投稿の投稿編集ページにもカテゴリーの項目が表示されます。
custom02-2

3.「カスタム投稿タイプ」を表示させる固定ページを作成する。

カスタム投稿タイプのarchivesページを表示させる方法は、いろいろあるようですが、ここでは専用の固定ページを作成して表示させることにします。
page-book.phpというように、page-任意の名前.phpというテンプレートを作成します。
page-book.phpの1行目にはテンプレートネーム(任意)を記述します。

 <?php /** The template name:booklist */ 

【page-book.phpの記述一例】
divのidやクラス名などは任意の名前に置き換えてください。

<?php
/**
 The template name:booklist
 */
get_header(); ?>
 <div id="primary" class="site-content">
 <?php if ( have_posts() ) : ?>
 <?php /* Start the Loop */ ?>
 <?php query_posts( 'post_type=booklist&posts_per_page=10' ); ?>
 <?php while ( have_posts() ) : the_post(); ?>
 <a href="<?php the_permalink(); ?>"></a><?php echo get_the_term_list( $post->ID, 'booklist_cat', 'Category: ','・','' ); ?>
 <?php get_template_part( 'content', 'page' ); ?>
 <?php endwhile; // end of the loop. ?>
 <!-- ページナビここから -->
<nav class="nav-single">
 <span class="nav-previous"> <?php previous_post_link('前の投稿', TRUE); ?><br/>
 <?php
 $prevPost = get_previous_post(true); //前の記事データを取得
 previous_post_link( '%link', $prevThumbnail.'%title' ); //出力
 ?></span>
 <span class="nav-next"><?php next_post_link('次の投稿', TRUE) ?><br/>
<?php
 $nextPost = get_next_post(true); //次の記事データを取得
 next_post_link( '%link', $nextThumbnail.'%title' ); //出力
 ?></span> </nav>
 <!-- ページナビここまで -->
 <?php endif; // end have_posts() check ?>
 </div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

ループ内の下記コードは、1ページに表示する最大投稿数を設定するコードを記述しています。上記の例では1ページに投稿を10件表示するよう設定しています。

<?php query_posts( 'post_type=booklist&posts_per_page=10' ); ?>
 

ループ内の下記コードは、カスタム投稿のカテゴリー表示をしています。

<a href="<?php the_permalink(); ?>"></a><?php echo get_the_term_list( $post->ID, 'booklist_cat', 'Category: ','・','' ); ?>

プラグインWP-PageNaviを導入している場合は、ページナビの部分を下記コードに置き換えてもOKです。

<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>

page-book.phpテンプレートを作成してサーバーにアップしたら、管理画面で任意の名前の固定ページを追加します。
タイトルだけ入力し、本文は空白のままで構いません。
テンプレートの選択項目はpage-book.phpの冒頭に記述したテンプレート名を選択します。

cusutom000もし、カスタム投稿のテンプレートを選択しても何故かデフォルトテンプレートに戻ってしまうというエラーが起きた場合、実際私は経験してしまったのですが、そのような場合の原因と対処法が下記サイトに書かれていて、助かりました。

既存のブログとは異なるデザインのページにしたい場合は、カスタム投稿専用のテンプレートを作成します。

  • archive-カスタム投稿名.phpを作成する。(例:archive-booklist.php)
  • single-カスタム投稿名.phpを作成する。(例:single-booklist.php)
  • cssでスタイルを整える。

必要ならば、headerやfooter、sidebarなども、専用テンプレートを作成してarchive-カスタム投稿名.php、single-カスタム投稿名.phpに読み込ませたら良い、と私は思っていましたが、検索しているうちに、「条件分岐タグ」を使えば、もっとすっきりとカスタマイズできる、と解説しているサイトに行き当たりました。

下記サイトではカスタム投稿を index.php に表示する方法についても書かれています。

4.カテゴリー別の一覧ページが表示されるようにする。

カテゴリーをクリックするとタイトルの一覧ページが表示できるテンプレートを作成してみます。
テンプレートは、taxonomy-カスタム投稿名cat.phpです。

【taxonomy-booklist_cat.phpの一例】
archive-カスタム投稿名.phpを作成していたら、それを複製して名前を変更するだけでもよいようです。

<?php get_header(); ?>
<div id="primary" class="site-content">
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<div class="book">
<?php echo get_the_term_list( $post->ID, 'booklist_cat', 'Category: ','・','' ); ?>&nbsp;&nbsp;&nbsp;<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</div>
<?php endwhile; endif; ?>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

タイトル一覧が表示されます。
cusutom-last
タイトルだけでなく、投稿内容も表示したい場合は、下記コード部分を

<?php echo get_the_term_list( $post->ID, 'booklist_cat', 'Category: ','・','' ); ?>&nbsp;&nbsp;&nbsp;<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

下記のように置き換えると投稿内容も表示されるようになります。

<?php echo get_the_term_list( $post->ID, 'booklist_cat', 'Category: ','・','' ); ?>
<?php get_template_part( 'content', 'page' ); ?>

5.「カスタム投稿タイプ」を利用してブログを複数追加する。

functions.phpに以下のようにコードを追記します。
二つ目のカスタム投稿の「document」、「ドキュメント」も任意の名前に置き換えてください。

// ===========================
// = カスタム投稿 =
// ===========================
function new_post_type(){
 //読書リストページ
 register_post_type(
 'booklist',
 array(
 'label' => '読書リスト',
 'public' => true,
 'hierarchical' => false,
 'has_archive' => true,
 'supports' => array(
 'title',
 'editor',
 'thumbnail',
 'excerpt'
 ),
 'menu_position' => 5
 )
 );
 //ドキュメント
 register_post_type(
 'document',
 array(
 'label' => 'ドキュメント',
 'public' => true,
 'hierarchical' => false,
 'has_archive' => true,
 'supports' => array(
 'title',
 'editor',
 'thumbnail',
 'excerpt'
 ),
 'menu_position' => 5
 )
 );
 //タクソノミーを作成
 register_taxonomy(
 'booklist_cat',
 'booklist',
 array(
 'label' => '読書リストカテゴリー',
 'labels' => array(
 'popular_items' => 'よく使う読書リストカテゴリー',
 'edit_item' => '読書リストカテゴリーを編集',
 'add_new_item' => '新規読書リストカテゴリーを追加',
 'search_items' => '読書リストカテゴリーを検索',
 ),
 'public' => true,
 'hierarchical' => true,
 'rewrite' => array('slug' => 'booklist_cat')
 )
 );
 //タクソノミーを作成
 register_taxonomy(
 'document_cat',
 'document',
 array(
 'label' => 'ドキュメントカテゴリー',
 'labels' => array(
 'popular_items' => 'よく使うドキュメントカテゴリー',
 'edit_item' => 'ドキュメントカテゴリーを編集',
 'add_new_item' => '新規ドキュメントカテゴリーを追加',
 'search_items' => 'ドキュメントカテゴリーを検索',
 ),
 'public' => true,
 'hierarchical' => true,
 'rewrite' => array('slug' => 'document_cat')
 )
 );
 }
  add_action('init', 'new_post_type');

コードを追記してfunctions.phpをアップロードすると、管理画面に「ドキュメント」の項目が追加されます。
cusutom001

6.「投稿が見つかりません」とか「404エラー」画面が表示された場合の対処法

カスタム投稿で作成した記事をプレビューすると、「投稿が見つかりません」といった画面が表示されたりします。この場合、管理画面の「設定」にある「パーマリンクの設定」を更新してみると、表示されるようになります。functions.phpのコードを修正したら、その都度パーマリンクの設定を更新した方が良いようです。

参照サイト:

wordpressbookjpg

 

以前「wp自作テーマでショップをリニューアルしました。」で紹介しました「WordPress3.X 現場のワークフローで覚える ビジネスサイト制作 / MdN(エムディエヌコーポレーション) ハヤシ ユタカ著」を、手元に置いて参考にしつつ、ネット検索で下記のサイトを参照させていただきました。

<参考サイト>