WordPressのbones themeを使ってハマった点

Pocket

1. headerのdescriptionが空

header.phpに、

		<meta name="description" content="">
		<meta name="author" content="">

とあるんだが、これをこのままにしておくと当然descriptionもauthorも空のまま。
All in One SEO Packなどを使ってもこれは上書きされないので、やはりSEO的にはよろしくない。
消すか、ちゃんと埋めるか対策すること。

2. comments.phpにhookがいくつかない

comments.phpがコメントのテンプレートだけど、デフォルトのcommentsと違う点がいくつかあり、特に注意したいのが、肝心なhookが使われていないこと。
comment_formとか。必要ならば追記して使うこと。

3. Custom post type用テンプレートの注意点

デフォルトのbonesテンプレートにはsingle-custom_type.phpやtaxonomy-custom_cat.phpといった、custom post type用のテンプレートも入っている。しかしこれらをそのまま使うとエラーが起きる。

<!--?php echo get_the_term_list( get_the_ID(), 'custom_cat', "" ) ?-->

部分に起因する。

4. Facebookやgoogle+のheaderがデフォルトで付く(2012-04-15 追記)

消すためには、themeの /library/plugins.php の

	add_action('wp_head', 'bones_facebook_connect');
	add_action('wp_head', 'bones_google_header');

部をコメントアウトする。

5. Paginationが標準でつかない(2012-05-01 追記)

記事中に

</pre>
<!--nextpage-->
<pre> 

を使うと、ページを分割できるが、それを表示するには

wp_link_pages();

を使う。これをthe_content()の後とかに設置すれば良いのだが、デフォルトでは入っていない。nextpageを使う場合には必ず入れる。

6. Commentsを許可していないときの表示(2012-05-07 追記)

commentを許可していない場合には
Comments are closed.
と表示されるが、これは目障り。comments.phpでその箇所を削除。

7. ogpの画像の設定

テーマフォルダの /library/plugins.php に bones_get_socialimage()があり、そこでogpの画像を拾っている。ここの$socialimg でデフォルトを指定してやると無難。

8. descriptionが検索結果で表示されない対応

テーマフォルダ内の /library/plugins.php に、

	add_action('wp_head', 'bones_facebook_connect');
	add_action('wp_head', 'bones_google_header');

があるが、これらはちゃんと設定しないと、descriptionが空になる。使わない場合はコメントアウトしておく。

9. custom_post_type.php でhas_archiveが指定されていない

カスタム投稿タイプを定義するファイルが library/custom-post-type.php。
これをコピペしてカスタム投稿タイプを定義していくが、その中のregister_post_type() に ‘has_archive’ が入っていない。また、register_taxonomy()に ‘rewrite’ が入っていない。使うときは必要に応じて含めるように気をつけたい。

10. archive.php にカスタム投稿タイプとカスタムタクソノミー用タイトルを (2013-01-06追記)

bonesはカスタム投稿タイプやカスタムタクソノミーを設定するのが簡単なので多用しているが、そのアーカイブページにタイトルがないのは寂しい。archive.phpに

 <?php } elseif (is_post_type_archive()) { ?>
 <h1 class="archive-title h2">
 <span><?php _e("Posts In:", "bonestheme"); ?></span> <?php post_type_archive_title(); ?>
 </h1>
 <?php } elseif (is_tax()) { ?>
 <h1 class="archive-title h2">
 <span><?php _e("Posts Categorized:", "bonestheme"); ?></span> <?php single_term_title(); ?>
 </h1>

よくbonesは使うので、随時追加していきます。

10. タイトルがイマイチ

昔のversionだと、home.php などでもちゃんとtitle部が見えていたのに、最近のはtitleがurlになってしまう。header.php でtitleタグの中身のコードが変わったのが原因。
昔のに戻したほうが見栄えがよい。古い版のは以下

        <title><?php
        global $page, $paged;
        wp_title( '-', true, 'right' );
        // Add the blog name.
        bloginfo( 'name' );
        // Add a page number if necessary:
        if ( $paged >= 2 || $page >= 2 )
            echo ' - ' . sprintf( 'ページ %s', max( $paged, $page ) );
        ?></title>

この記事を書いた人