WordPressで、現在表示している投稿のカテゴリ関連記事を、サムネイルと一緒に表示する方法

WordPressで、わざわざカテゴリNoを指定しなくても、現在表示している投稿と同じカテゴリの関連記事を、自動的に、しかもサムネイルと一緒に表示する方法が分かったので共有メモ。

<?php
foreach((get_the_category()) as $cat) {
$cat_id = $cat->cat_ID ;
break ;
}
$query = 'cat=' . $cat_id. '&showposts=10';
query_posts($query) ;
?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<table>
	<tr>
		<td class="pic"><a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a></td>
		<td class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></td>
	</tr>
</table>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>

上記のコードでは、tableを使って、レイアウトの調節をしていますが、リストやcssのみでデザインしてもOKです。

ちなみに、shopostsの数字をいじることで、表示させる関連記事の数を変えることができますよ。

Twitterのツイートを記事内に挿入できるプラグイン「oEmbed Tweet」が楽チン便利。

ブログの記事内でTwitterのツイートをなんとか手軽に引用できないかなぁ、と思っていたところ、よさげなプラグインを見つけたのでご紹介。

そのプラグインは「oEmbed Tweet」です。ダウンロードはこちらからどうぞ

ダウンロードしてきたら、早速、プラグインを有効化します。あとは、引用したいツイートのURLを新規投稿画面にコピペするだけ。ビジュアルモードでもHTMLモードでも、どちらでもOKですよ。こんな感じです↓

頭の休憩にジョギングいってきまーす。

引用したツイートの背景画像まできちんと表示してくれるのが、なにげに気がきいてますね。

TwitterやFacebookでコメントできるWordPressプラグイン「DISQUS」を導入。

TwitterやFacebookのアカウントにログインしておけば、
名前やメールアドレスの入力をせずとも、コメントすることができる
Wordpressのプラグイン「DISQUS」を導入しました。

ダウンロードはこちらから
公式サイトはこちら

プラグインのインストール自体は簡単でしたが、
いくつか詰まったことがあったのでメモ。

デザインが崩れている場合

プラグインを「有効化」しても、コメント周りのデザインが崩れている場合、
本家にログインして「Setting」→「Appearance」の
「Current Theme」を「Narcissus」をすればOKかと。

デザインをカスタマイズしたい場合

DISQUSのデザインを好きなようにカスタマイズしたい場合、
自分のサイトのCSSファイルの最初あたりに、

@import url(http://path-to-css);

と記述してください。
そして、HTMLエディタ(メモ帳でも可)で書いておいたCSSコードを、
「Appearance」ページの最下部にある「Custom CSS」にコピペすればOK。

参考にしたリンク

#WordPress でin categoryタグを使って、投稿カテゴリごとにテンプレートをカスタマイズする方法

WordPressで投稿カテゴリごとに、
テンプレートファイルをカスタマイズする方法です。

投稿のデザインの元となっているテンプレートファイルは、
single.phpやarchive.phpになります。

これらのファイルにin categoryタグを追加し、
カテゴリの番号ごとに、条件分岐させてやるとOKです。

具体的には、

<?php if ( in_category( array( '1') )) { ?>
カテゴリ番号1のテンプレートコード

<?php } elseif ( in_category('2') ) { ?>
カテゴリ番号2のテンプレートコード

<?php } else { ?>
それ以外のカテゴリのテンプレートコード

<?php } ?>

といった感じです。

ちなみにカテゴリの番号は、
「投稿」→「カテゴリー」をひらいて、
それぞれのカテゴリのURLの最後についている番号になります。

参考URL

#WordPress で「テンプレート」機能を使って、「ページ」ごとにカスタマイズする方法

WordPressで「テンプレート」機能をつかって、
「ページ」ごとにレイアウトやらをカスタマイズする方法です。

以下の3ステップです。

1.テンプレートファイルを複製する

「ページ」のレイアウトを決定するファイルは、
themeフォルダにある「page.php」になります。

まず、このファイルを複製し、
複製したファイルの先頭に、

<?php
/*
Template Name: 適当な名前
*/
?>

を加えます。

2.テンプレートファイルをいじる

複製したファイルを、
自分の好きなようにカスタマイズしちゃってください。

3.カスタマイズしたテンプレートファイルを選択する

WordPressの管理画面から
「ページ」を「新規追加」し、
画面右側あたりにある「ページ属性」にある「テンプレート」から、
さきほど作成したテンプレートファイルを選びます。

すると、ふだんのページのレイアウトではなく、
じぶんがカスタマイズしたテンプレートが反映された、
新しいレイアウトで表示されます。

以上、「テンプレート」機能を使って、
「ページ」ごとにレイアウトをカスタマイズする方法でした。

#WordPress で予約済みの投稿をリスト表示し、且つ、ゲストにも詳細を見せられる方法

WordPressで、予約済みの投稿をリストで表示し、
さらに、管理者だけではなく、
ゲストにも予約済みの詳細をみせる方法です。
(※通常、ゲストは予約済みの投稿をみれません)

たとえば、将来予定しているイベントをあらかじめ投稿しておき、
イベントが終わるまでは告知を表示し、
イベントが過ぎると自動的に見えなくする、といった使い方ができます。

方法は、以下の3ステップです。

1.投稿を予約する

投稿を予約するには、
新規投稿画面の右側あたりにある
「すぐに公開する」を編集し、
未来の日時に設定してあげるだけでOKです。
これで予約投稿は完了です。

2.予約済みの投稿をリスト表示する

ステップ1でつくった予約投稿を、
リスト表示させます。

リスト表示させたいところに、
以下の記述を書きます。

<?php query_posts('post_status=future&showposts=5'); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php the_title(); ?><br />
<?php the_content(); ?>
<?php endwhile; endif;?>

post_statusがfutureとなっているところがミソです。
これで予約投稿を表示させることができます。

showpostsの数字で、リストに表示する投稿数を変えられます。

query postsの変数をいじることで、
さらにカスタマイズすることもできます。
興味のある方は、以下のリンクをどうぞ。

3.予約済みの詳細をゲストにも見せる

これで、予約済みの投稿をリスト表示させることはできましたが、
このままでは、管理人以外は投稿の詳細を見れません。

予約済みの投稿を、
ゲストの人にも閲覧可能にするプラグインを、
インストールする必要があります。

以下のプラグインをインストールしてください。
Show Future Posts on Single Post

インストールしたあとは、
特に設定する必要はありません。
プラグインのページで「有効」にしてあげるだけです。

以上、予約済みの投稿をリスト表示し、
且つ、ゲストにも詳細を見せられる方法でした。

#WordPress のカテゴリページで、投稿数を◯件/◯件中と表示する

WordPressでカテゴリを選んだとき、
そのカテゴリのすべての投稿数と、いま表示している投稿数を、
同時に表示する方法です。

検索結果の件数を表示」という記事に、
ずばりの方法が書いてありました。

WordPressのthemeフォルダの中にある、
複数の記事を表示するテンプレートarchive.phpに、
以下を記述するだけです。

<?php $counter = new WP_Query("cat=$cat");echo count($counter->posts) ."件"; ?> / <?php $counter = new WP_Query("posts_per_page=-1&cat=$cat");echo count($counter->posts) ."件中"; ?>

カテゴリごとに投稿数が多くなる、
商用サイトを運用している場合なんかに、
使えるんじゃないでしょうか。

WordPressの投稿をTwitterに流す『Tweetable』をやめて『Simple Tweet』にした。

WordPressで記事をかいたとき、
自動的にTwitterにツイートできるプラグインがあります。

ぼくは、これまでは『Tweetable』をつかっていたのですが、
いつからか、Fatal Errorがでて使用不可能になっていました。
Twitter連携用プラグインTweetableが便利すぎる! | Ryuzee.com

そこで、代わりに『Simple Tweet 』をインストール。

インストールした後は、設定のページから、

  • Twitterのアカウントとパスワードを登録。
  • 記事のタイトルだけツイートしたいので『Twitter でツイートする言葉』のところを『%POST_TITLE%』だけにする。
  • 『短縮URL』のところでbit.lyにチェックを入れて、bit.lyのユーザー名とAPI キーを入力。※bit.lyのAPIキーは必要になることが多いので、ユーザー登録しとくのが吉。登録はこちらからどーぞ→http://bit.ly/
  • セキュリティが気になるひとは、『Simple Tweet OAuth 設定』をみながら『Twitter OAuth』も設定する。※OAuthって?ひとは→「TwitterのbotをOAuthに対応させる」

以上でOK。

『Simple Tweet』をつかうと、
Wordpressで予約しておいた記事が公開されたときにも、
きちんとTwitterにツイートを流してくれるのが便利です。

WordPressの更新をTwitterに通知するプラグイン

ブログを書いたら、そのタイトルとURLを、
Twitterに自動で通知してくれる、
プラグイン「Tweetable」をみつけました。

通知するタイトルの前に、
「ブログ書きました」「I wrote blog」「ブログ:」
といった定型分をつけることもできるので、
設定をいろいろいじるのが好きなひとには、
相性よさそうなプラグインですね。

Flickrにアップした写真をWordPressの投稿画面から簡単に貼り付ける方法

デジカメや携帯で撮った写真をFlickrにばんばんアップロードしていて、それらの写真をWordpressで使いたい場合に役に立つプラグインが「WordPress Flickr Manager」です。

プラグインをダウンロードしてきて有効化すると、新規投稿画面の上部にFlickrのボタンが追加されます。

flickr-manager1

ボタンを押すとFlickrの写真が表示されるので、ぽちぽちっとクリックするだけで写真を貼り付けることができます。

flickr-manager2

こちらのブログを参考にして、一度に表示される写真の数を多くしておくと、写真を探すのが楽になります。

また、自分のアップロードした写真以外にも、Flickrから検索した写真をそのまま貼り付けることも可能です。さらに貼り付けた写真を「Lightbox」で表示するかどうかも自由に設定することができます。

ただし!!

残念ながらWordpress Flickr ManagerはWorepress 2.8以降に対応していません。その為、有志の方が作った亜流版をダウンロードする必要があります(こちらのブログで知りました)。

亜流版にも2種類あり、一つは作成者のクレジットリンクが挿入されるもの、もう一つはクレジットリンクがないもの(Lightboxに未対応?)が配布されているようです。私はひとまず後者のほうを使っています。

亜流版といっても本家と使い勝手は変わらないので、Wordpress使いでFlickrを愛用されている方は一度試してみてはいかがでしょうか。

WordPressのサイドバーにFlickrのブログパーツを設置

Flickrにブログパーツって用意されていたんですね。そんなことを露とも知らずWordpressでFlickr回りのプラグインを探してしまいました。

こちらからブログパーツをカスタマイズして作成することができます。
http://www.flickr.com/badge.gne

英語ですがぽちぽちクリックしていくだけで完成します。

  1. htmlかFlashか選ぶ
  2. 公開する写真の範囲を選ぶ(指定したタグやセットだけを公開することも可)
  3. レイアウトを選ぶ(写真の数やサイズ、プロフィール写真の有無など)
  4. 色を選ぶ
  5. 完成したコードをブログに貼る

以上です。

当ブログの右下にも貼ってありますので、参考にどーぞ。

WordPressの記事にコメントとトラックバックを分けて表示させ、0件の場合は非表示にさせる

WordPressは元々コメントとトラックバックが統合されている。それを無理やり分けて表示する方法をメモしておく。

  1. Trackping Separatorプラグインを導入
  2. http://ja.forums.wordpress.org/topic/861の6件目のコメントで紹介されているcomments.phpのソースを自分流にアレンジする
  3. trackpings.phpの修正。

    function get_comment_only_number() {
    global $wpdb, $tablecomments, $post;
    $comments = $wpdb->get_results(“SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID AND
    comment_type NOT REGEXP ‘^(trackback|pingback)$’ AND comment_approved = ’1′”);
    $cnt = count($comments);

    return $cnt;
    }

    function get_comment_only_number() {
    global $wpdb, $tablecomments, $post;
    $comments = $wpdb->get_results(“SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID AND
    comment_type NOT REGEXP ‘^(trackback|pingback)$’ AND comment_approved = ’1′”);
    $cnt = count($comments);

    return $cnt;
    }

    function get_comments_only_number($no=”, $one=”, $many=”) {
    global $wpdb, $tablecomments, $post;
    $comments = $wpdb->get_results(“SELECT * FROM $wpdb->comments WHERE comment_post_ID = $post->ID AND comment_type = ” AND comment_approved = ’1′”);
    $cnt = count($comments);
    if (!$cnt)
    return $no;
    elseif ($cnt == 1)
    return $one;
    else
    return str_replace(“%”, $cnt, $many);
    }

    に修正する。

  4. comments.phpのコメントとトラックバックを表示させている部分を以下のコードで挟む

    <?php if (get_comments_only_number(’0′, ’1′, ‘%’) != ’0′) { ?>

    <? } ?>

    <?php if (trackpings(‘count’) != ‘(0)’) { ?>

    <? } ?>

以上。参考までにこのブログのcomments.phpも晒しておくので、参考にしたい方は右クリックで保存からどうぞ。

参考URL

WordPressのサイドバーにSkypeとGoogleトークを表示させる

WordPressのサイドバーにSkypeボタンとGoogleトークの吹き出しを表示させる。

Skypeボタンを作るURLはこちら
http://www.skype.com/intl/ja/share/buttons/

  1. Skypeのユーザー名を入力する
  2. 表示させるボタンを選ぶ
  3. 完成したコードを貼る、以上

初期設定だとボタンを押すとスカイプ電話が作動するようになっているので、僕はカスタマイズを選んでスカイプチャットが起動するように設定した。

Googleトークの吹き出しを作るURLはこちら
http://www.google.com/talk/service/badge/New

Googleトークにログインしていれば表示されるコードを貼るだけ。お好みでタイトルを変更できる。このブログでは、プロフィール写真がマンガで喋っているように配置してみた:-)

WordPressのサイドに自分のはてなブックマークを表示させる

注)もっと簡単な方法を追記しました!!

『WordPressで自分のはてブを表示する – 宗子時空』を参考にして、『FeedList』というプラグインでWordpressに自分のはてなブックマークを表示させてみる。一般的なプラグインとは設定方法が異なっていたので、まとめメモしておく。

  1. FeedListをダウンロードする
  2. 解凍してできたフォルダをそのままpluginsフォルダにぶちこむ(注:フォルダに入っているfeedlist.phpだけをアップするとエラーになる!)
  3. 管理画面でプラグインを有効化する
  4. feedlist.phpを200行目あたりを編集する
    ・return array( ‘rss_feed_url’ => ‘自分の表示したいフィードのURL’,を修正
    ・表示数を少なくするために、’num_items’ => 5,にする
    ・タイトルだけ表示するために、’show_description’ => false,にする
    ・新しいタブで表示するために、’new_window’ => true,にする
  5. sidebar.phpを開き、表示させたい場所に<?php feedList(array(‘Key’ => ‘Value’, ‘Key’ => ‘Value’)); ?>を挿入する
  6. 後は適当にCSSでデザインを修正

以上でOKである。このブログでは右下に自分のはてなブックマークを5つ表示させているので、ソース等参考にしてください。


追記


もっと簡単な方法をみつけましたので、追記しておきます。

WordPressのウィジェットの『RSS』に、
表示させたい、はてなブックマークのRSSフィードを入れるだけ。
(例えば、http://b.hatena.ne.jp/shigeo2/rss など)

そんなウィジェットないよ!というひとは、
Wordpressをバージョンアップしてください。
たぶん、表示されます。

WordPressにはてなブックマークの被ブックマーク数を表示させる

WordPressではてなブックマーク数を表示したよ☆? – 脳内会議

で紹介されていた

<a href=”http://b.hatena.ne.jp/entry/<?php echo get_permalink(); ?>”><img src=”http://b.hatena.ne.jp/entry/image/<?php echo get_permalink(); ?>” alt=”" /></a>

の「”」を「”」に変換したら

<a href=”http://b.hatena.ne.jp/entry/<?php echo get_permalink(); ?>“><img src=”http://b.hatena.ne.jp/entry/image/<?php echo get_permalink(); ?/>” alt=”” border=”0″/></a>

導入に成功した。

—–

追記:なぜかこのブログ上では「”」と「”」の差を表すことができない:-( コピペしてもらうと違いが見て取れると思います。

wordpressにはてなスターを設置してみた

Twitter検索が重くて「フォロー1000人計画」が実行できない為、それまでちょこっとwordpressをいじることにした。今回の作業ははてなスターの設置である。

WordPressに「はてなスター」を設置してみた
http://massat.jp/2007/07/12/243

上記の記事を参考にすると、簡単にできた。

  1. はてなスターにログイン
  2. ようこそ○○さんをクリック
  3. ページ右上の「Blogs」をクリック
  4. ページ下部の「外部のブログサイトを登録する」にブログのURLを入力して、コードを表示させる
  5. wordpressのheader.phpを開く
  6. phpファイルの<head></head>の間に先ほどのコードをペーストする
  7. <script type=”text/javascript” src=”http://s.hatena.com/js/Hatena/Star/EntryLoader/WordPress.js”></script>も同じ場所にペーストする

以上。