vicuna CMS テーマの修正 (previous_posts_link()関数・next_posts_link()関数の追加)

vicuna CMS ? WordPress Theme Ext. Custom (以下 vicuna とします)の修正に関する内容もようやく最後に (長かった…) 。今回はprevious_posts_link()関数とnext_posts_link()関数についてです。

previous_posts_link()関数・next_posts_link()関数はサイトトップやカテゴリー毎、タグ事など1ページに複数の投稿記事を表示したときにその前後のページへのリンクを書き出すための関数です (詳細は例のごとく WordPress CodexWordPress Codex日本語版 やグーグル先生に聞いてみてください)。

さて、このprevious_posts_link()関数・next_posts_link()関数は本来、index.phpやcategory.phpやtag.phpなど1ページに複数の投稿記事を表示するために使用されるファイルに記述します。しかしながらvicunaでは表示を統一するためなのか、ページ移動のリンクの表示はfunctions.phpファイル内のvicuna_paging_link()関数を使用して記述されてます。そこで今回はこのvicuna_paging_link()関数内に、previous_posts_link()関数・next_posts_link()関数を記述して対応することにします。

続きを読む vicuna CMS テーマの修正 (previous_posts_link()関数・next_posts_link()関数の追加)

vicuna CMS テーマの修正 (previous_post_link()関数・next_post_link()関数の追加)

vicuna CMS – WordPress Theme Ext. Custom (以下 vicuna とします)の修正に関する内容も4回目。今回はprevious_post_link()関数・next_post_link()関数についてです。

previous_post_link()関数・next_post_link()関数は投稿記事に、その前後の投稿へのリンクを書き出してくれる関数です。引数を指定しなければあらかじめ設定されている書式と記事のタイトル名をリンクとして書き出してくれます(詳細は例のごとく WordPress CodexWordPress Codex日本語版 やグーグル先生に聞いてみてください)。

…でvicunaテーマへのこれらのコードの挿入ですが、挿入自体は至って簡単。ただ記事の上下それぞれにあるリンクの書式が違うので、コードを変更する前の書式に合うように引数を設定して挿入します。

続きを読む vicuna CMS テーマの修正 (previous_post_link()関数・next_post_link()関数の追加)

vicuna CMS テーマの修正 (wp_link_pages()関数の追加)

今回のvicuna CMS – WordPress Theme Ext. Custom (以下 vicuna とします)の修正はwp_link_pages()関数の追加についてです。

wp_link_pages()関数は1つの投稿記事を複数のページに分割した際、分割したページそれぞれへのリンクを自動的に記述してくれるコードです。このコードをテーマに入れておけば、記事を分割したい場合に投稿内容の分割したいところで次のタグを入れておくだけです。主にpage.phpファイルとsingle.phpファイルにコードを記述して使います。

< !-- nextpage -->

(このコードの詳細はいつものごとく、関数に関する詳細は WordPress Codex または WordPress Codex日本語版 、グーグル先生を参考にしてください 😛 )

続きを読む vicuna CMS テーマの修正 (wp_link_pages()関数の追加)

vicuna CMS テーマの修正 (comment_form()関数・paginate_comments_links()関数の追加)

今回のvicuna CMS – WordPress Theme Ext. Custom (以下 vicuna とします)の修正はcomment_form()関数とpaginate_comments_links()関数の追加についてです。

comment_form()関数はこのコードが書かれた箇所にコメントフォームを設置してくれる関数で、paginate_comments_links()関数は複数のコメントをページで分割して表示できるようにした際にページ送りを設置するための関数で、どちらもコメントフォームの形成に必要とされている関数です(関数に関する詳細は WordPress Codex または WordPress Codex日本語版 、グーグル先生に 😛 )。

続きを読む vicuna CMS テーマの修正 (comment_form()関数・paginate_comments_links()関数の追加)

vicuna CMS テーマの修正 (body_class()関数・post_class()関数の追加)

今回のvicuna CMS – WordPress Theme Ext. Custom (以下 vicuna とします)の修正はbody_class()関数・post_class()関数の追加についてです。

body_class()関数やpost_class()関数はHTMLタグのbodyや記事を一覧で表示するとき、そのデザインを指定するのに必要なクラスを自動的に生成してくれる関数です(詳細はWordPress Codex日本語版やグーグル先生に聞いてみてください 😛 )。この関数をあらかじめ使うように考えて作られたテーマなら関数を追加するだけで終了します、たぶん…。

すでに独自でクラスを指定している場合も大丈夫。独自のクラスは関数を使う際に引数として追加すれば一緒に羅列してくれるので、これまで使っていたクラスを引数に指定すればデザインが崩れることなく修正は終わります。post_class()関数は投稿一覧ページで投稿毎にクラスを羅列するのですが、vicunaは独自のコードが静的に描かれているので次のように引数で指定して終了です。

// before ->	<div class="section entry" id="entry<?php the_ID(); ?>">
		<div <?php post_class(array('section', 'entry')); ?> id="entry< ?php the_ID(); ?>">	// < - after

これがbody_class()関数となると問題が発生するのです。vicunaはカラムを動的に替えるのにクラスを使用しているので引数を指定して終了…とは問屋が卸してくれませんでした。カラム変更のため動的にクラスを生成している関数は、クラスの指定に直接記述することを前提に文字列として値を返す関数なので、これを配列として値を返すように変更することにしました。

続きを読む vicuna CMS テーマの修正 (body_class()関数・post_class()関数の追加)