wordpressでテンプレートをいじる際にハマったところを、逆引きリファレンスっぽくまとめておきます。
パーマリンク取得
参考
get_the_permalink(); //ではなくて get_permalink(); //が正解
カテゴリーのスラッグ名出力
参考
$cat->category_slug //ではなくて $cat->category_nicename //が正解
カテゴリーリストに(記事数)を表示
参考
ウィジェットを使わず直書きするときは、wp_list_categoriesを使う。
showcount=trueにすると、カテゴリ投稿数が表示される。
wp_list_categories('show_count=true');
カテゴリごとの記事一覧を羅列
参考
ループの前でカテゴリを取得し、配列に格納しておく。
パラメータで、並び順を指定できる。(この場合はID昇順)
$categories = get_categories('orderby=id&order=ASC');
投稿を古い順番に表示
参考
ループの前で、query_postsにパラメータを指定。(この場合は1ページに10件、昇順)
$pagedを指定するのは、常に1ページ目を取得してしまうのを避けるため。
$paged = get_query_var('paged'); query_posts('posts_per_page=10&order=asc&paged='.$paged);
カテゴリページでのカテゴリ名の出力
the_category(',');
だとカテゴリ名が全部でちゃうから、
single_cat_title('');
にすると、今いるページの階層のカテゴリ名のみが出せる。
抜粋の文字数を変更
参考
1.「WP Multibyte Patch」プラグインを有効化して、日本語でも文字数を指定可能にする
2.文字数を指定
echo mb_substr(get_the_excerpt(), 0, 400);//抜粋の文字数を設定
ページ送りがうまく動かない
参考
$paged = get_query_var('paged'); query_posts("posts_per_page=10&paged=$paged"); if(have_post()) : while (have_posts()) : the_post();
もしくは、『query_postsで指定している件数』、『管理画面の表示設定で指定している件数』、『表示しようとしているカテゴリの記事数』を確認する。
参考
タイトルの表示を『記事名 | ブログ名』に
wp_title('|', true, 'right'); bloginfo('name');
デフォルトテーマをいじる場合は、functions.phpでfilterを取り除いてしまえば良い。(応急処置)
add_filter( 'wp_title', 'twentytwelve_wp_title', 10, 2 ); //の直後でfilterをremoveする remove_filter( 'wp_title', 'twentytwelve_wp_title', 10, 2 );
続きを読むの文言を変更
the_contentタグを使う。
the_content('more_link_text', strip_teaser, 'more_file');
パーマリンク設定すると404エラーになる
参考
.htaccessとhttpd.confが怪しいことが多い。
検索ボックスで全角スペースを利用可能に
functions.phpに以下を追加
if(isset($_GET['s'])) $_GET['s']=mb_convert_kana($_GET['s'],'s','UTF-8');
検索ボックスのテキスト表示を検索クエリに
参考
<input type="text" value="<?php the_search_query(); ?>" />
他、ボリューム大きめの記事リンク集
徹底解説!query_postsを使ってWordPressで表示する記事数をカテゴリごとに変更する(プラグイン不使用)
パンくずリストを作ってみるとWordPress でのサイト構築のコツがつかめるかもしれない(コード 付き)
WordPressの検索機能をもっと使いやすくする