※スマホ対応はしてません。

カテゴリー: サーバー

プログラマーだけどWordPressのテーマを1から作ってみる。(その3)

カテゴリー: サーバー

もうちょいでできそうだねー。

とりあえずコメント

twentyelevenのindex.phpにもcontent.phpにもcommentという単語は見当たらない。どこだ?と思ったら、個別ページではindex.phpではなくsingle.phpが読み込まれているらしい。

というわけでsingle.php内で検索するとあっさり発見。

  • wp-content/themes/twentyeleven/single.php #25
                    <?php comments_template( '', true ); ?>

この一行でコメント一覧と投稿フォームまで表示された。このHTMLはどこで記述してるんだろう?

というか、その前にsingle.phpとは??

(さらに…)

WordPressのコメント欄をタグ禁止とかにする。

カテゴリー: サーバー

コメントフォームのところ、こんなの表示されてますよね。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

これ以外のタグはすっぱり削除されてしまうんですが、例えばコメント欄でHTMLのコードについて議論した事もあるだろうし、削除じゃなくてエスケープして出力するようにしたいですね。(というか勝手に削るなよ、と言いたい。)

あと空行を見つけるとそこで区切って<p>〜</p>にされるけど、これも改行は全部改行のまま出力したい。

要は概ね書いたまま表示するようにしたい、と。まあ空白くらいは詰めてもいいけど、普通の掲示板風の動きにしたいわけです。

フィルターで独自に置換

どうもフィルターを使う事でうまくやれるみたい。

(さらに…)

WordPressで「続きを読む」の前を消し去るNoTeaser記法ってご存知ですか。

カテゴリー: サーバー

先日のNextPage記法に引き続き、また知らないのがあったので。

「続きを読む」より前の部分を消し去り、一覧画面と個別画面で全く別の文章を表示させる事ができます。

(さらに…)

プログラマーだけどWordPressのテーマを1から作ってみる。(その2)

カテゴリー: サーバー

前回の続き。例によって、あまり人に読まれる事を考慮してません(笑)

ここまでのあらすじ

(´-ω-`) oO

(´=ω・`) え、なに?

というわけで、

今日は記事本体を見ていきます。

記事を表示するのは幾つかパターンあるみたい。

  • 個別表示(パーマリンク)
  • 一覧表示
    • フロントページ
    • 検索
    • カテゴリー
    • タグ

今現在の仮の状態

今は記事の部分の出力はこんな感じ。

  • wp-content/themes/ginpen/index.php (部分)
<div id="main">
<ul>
<?php
while ( have_posts() ) {
  the_post();
  echo '<li><a href="';
  echo the_permalink();
  echo '">';
  echo the_title();
  echo '</a></li>';
  // get_template_part( 'content', get_post_format() );
}
?>
</ul>
</div>

ulはもちろん今だけです。本丸はコメントアウトしてあるget_template_part()の部分。

まあ関数の名前を見ればなんとなくわかる気がする。

get_template_part( $slug, $name )

テーマのその名前のテンプレートパーツをインクルードします。name を指定した場合は、特定の部分をインクルードします。{slug}.php ファイルが無い場合は、インクルードしません。

というわけでcontent.phpだな。

  • wp-content/themes/twentyeleven/content.php

100行程度。まずはこれをじっくり見てゆきます。

(さらに…)

WordPressでタイトル取得するところ、ちょっと調べてきたよ。

カテゴリー: サーバー

WordPressのテーマのコードを読んでいたらよくわからない記述にぶち当たったので。

  • wp-content/themes/twentyeleven/content.php #19
            <h1 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h1>

記事のタイトルを表示している箇所なんですが、そのタイトルを表示するのに二通りの関数を使っています。

  • the_title()
  • the_title_attribute()

なんぞ?? と思って調べてみたわけです。

(さらに…)