CPIでパーマリンク

CPI独自仕様のPHPでは、WordpressでPermalinks機能が正常に動作しない。
パーマリンクの設定をすると、.htaccessファイルに

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

と自動挿入するが、これだけだと駄目で、その前に

Options +FollowSymLinks

を入れる必要がある。これは、CPIサーバーでmod_rewriteを有効にするための記述。

.htaccessファイル全部の内容

suPHP_ConfigPath /usr/home/サーバー番号/secure/ ←php.iniの場所
AddHandler x-httpd-php528 .php ←使用するPHPのバージョン指定
Options +FollowSymLinks ←今回手動で追加

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

php wp_head();内の削除

php wp_head();があると、必要ない情報も自動で挿入されてしまうので、削除したい場合。

functions.phpに書き込む。

//wp_headの削除
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'index_rel_link');
?>

wp-includes/default-filter.phpの「//action」の部分に、wp_headに記載されるものがあるので、そこを参考に。

カテゴリー表示のカスタマイズ

WordPressのデフォルトでは、カテゴリーメニューをクリックすると、そのカテゴリーの記事がズラっと表示され、一定数を超えると複数ページになる。これだと、必要な記事も探しづらいので、カテゴリー内のメニューを作ることにする。

まず、プラグインの Custom posts per page (現在は配布していないようです。追記:09.12.26) をインストールする。このプラグインは、1ページに表示される投稿数を[‘home’][‘day’][‘month’][‘search’][‘year’] [‘author’][‘category’]など項目別に指定することができる。これを用いて、カテゴリーメニューを、1ページで全部表示するように設定する。

次に、category.php(または archive.php など)をカスタマイズする。テーマによっては、category.phpが存在しない場合は、index.php などをベースにして、新しくcategory.phpを作成すれば、カテゴリーをクリックしたときに表示するページになる。

カテゴリーを選ぶと、以下の順番でテンプレートを読み込んでいくので、個別に指定をすれば、カテゴリーの中でも表示を異なったものにすることができる。

  1. category-x.php (← “x” 部分はカテゴリ ID)
  2. category.php
  3. archive.php
  4. index.php

今回は、category.phpを新規に作成する。ループ内にタイトルと日付をリストで表示させた。

<ul>
<li>
<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”Permanent Link to <?php the_title(); ?>”><?php the_title(); ?></a>
<br /><?php the_date(”); ?>
</li>
</ul>