タグ:WordPress

Contact Form 7のメッセージの表示位置【WordPress】

ちょっとつまったのでメモ。

WordPressには簡単にメールフォームを作れる「Contact Form7」なる便利なプラグインがあるんですが、エラーメッセージや送信完了メッセージの表示位置がおかしい。

どこに表示されるかというと、デフォルトでは送信ボタンの直下に表示されます。

できればフォームの一番上に表示したい!

ということで、どうにかする方法を探していたら、こんな記事を見つけました。

Contact form7 送信後に現れるメッセージを最下部以外に表示させる

Contact Form7の編集画面にて、[response]を任意の場所に記述すると、そこにメッセージが表示されるようになります。

例)

nandani | 2011年05月20日 | コメント(0) | トラックバック(0) | CMS関連

Quick Commentsとjqueryとの併用の注意点

jqueryを利用して、Wordpressでページ遷移なしにコメントを投稿できるプラグイン「Quick Comments」(作成者:「をかもと」さん)

使用するにあたり、いくつか注意点があります。もしこれを使用しているのにうまく動かない場合は、こちらの「Quick Comments FAQ」をご覧ください。

なお、FAQには書かれていませんが、Quick Commentsとは別にheader.phpでjqueryを呼び出している場合にも正常に動作しなくなる場合があります。
その時は、jqueryの記述を取り除くか、「wp_head()」の前にjqueryを呼び出してください。

例)

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery-1.4.2.min.js"></script>
<?php wp_head(); ?>

本来、Quick Commentsでjqueryを呼び出しているため、別途jqueryを設ける必要はないはずなのですが、独自に作成したスクリプトが動かなくなるケースもあります。その場合に上記の方法で対処してください。

 

今回参考にさせていただいたサイト

WordPress Plugins/JSeries:該当記事「Quick Comments (コメント投稿 Ajax 化)」「Quick Comments FAQ

nandani | 2010年08月10日 | コメント(0) | トラックバック(0) | CMS関連

WordPressから直接Googleマップを設定できるプラグイン

Google Maps Anywhere」を使用すると、WordPressの記事入力フォームから直接Googleマップの地図にピンマーク(所在地マーク)を付けることができます。(ただしGoogleマップAPIが必要)

ダウンロードサイト:「WordPress Plugins/JSeries」さんのサイト。

マイマップやストリートビューにも対応。ただ上記で紹介したダウンロードページにはマイマップのやり方が書かれていませんでした。マイマップのやり方についてはこちらのページで紹介されています。

Odysseygate.com」さんのサイト

※注意点
Odysseygate.com」さんのサイトで紹介されていたやり方では「/wp-content/uploads/hoge.kml」という風に、「ルートからのパスを記述する」方法で説明されていました。しかし自分がテストしたサーバ(ヘテムルサーバ)ではなぜかうまくいかず、「httpから始まるURLパス」を記述することで成功しました。サーバによって設定方法が変わる可能性があるのでご注意ください。

なお、ここでいう「マイマップを使用できる」というのは、あくまで「予め作成されたマイマップを読み込める」というものです。WordPressの入力フォームから設定したピンマークがマイマップにも反映されるわけではないのでご注意ください。

今回参考にさせていただいたサイト

nandani | 2010年07月27日 | コメント(0) | トラックバック(1) | API関連 | CMS関連

WordPressで入れておきたいプラグイン

インストール方法はすべからく以下の手順で行います。

  • プラグインをダウンロードした後解凍
  • 解凍したフォルダごと「wp-content/plugins」フォルダにアップロード
  • WordPressの管理画面にログインし、メニュー「プラグイン>プラグイン」にて有効化する

 

ほぼ必須だと思われるプラグイン

  • カテゴリーの並び替えを行う「My Category Order
    MTもそうですが、なぜデフォルトで並び替えがないのかが不思議です。
    とりあえずこれをインストールすればメニューの「投稿」に「My Category Order」が増えますのでそこで並び替えを行ってください。
    ダウンロードサイト
  • コメント・トラックバックを分けてくれる「Trackping Separator
    WordPress独特の仕様のせいで、ごっちゃ混ぜになっているコメントとトラックバックを切り分けてくれます。
    ダウンロードサイト
    使用例はこちらのサイトをご参照ください。日々是好日さんのサイト

 

あったら便利なプラグイン

  • あらかじめカスタムフィールドの設定を行える「Custom Field GUI Utility
    アップロードの前に、解凍したフォルダの中に「conf.ini」というファイルがありますので、そちらでフィールドの設定をした後、アップロードしてください。(ダウンロードサイトにも設定方法が記述されていますのでそちらをご参照ください。)
    ダウンロードサイト
  • ユーザのプロフィール画面でもフィールドを作れる「Cimy User Extra Fields
    カスタムフィールドのように、プロフィール画面でも入力フィールドを追加できます。使用方法についてはこちらのページをご参照ください。 「WordPressの「ユーザ」管理画面にてフィールドを増やす方法
    ダウンロードサイト
  • 自動的にGoogleサイトマップを作ってくれる「Google Sitemap Generator
    インストールすると、メニューの「設定」に「XML-Sitemap」が追加されますので、そちらから設定をします。なお設置直後は設定画面の上部にある書き出しリンクを押さないと、サイトマップが書き出されませんのでご注意ください。
    ダウンロードサイト
  • 携帯版サイトを自動的に作ってくれる「Ktai Style
    インストールするだけで、携帯サイトが自動的に作られます。
    ダウンロードサイト
  • (追記) 記事やページ投稿でもPHP記述が使える「runPHP
    ダウンロードサイト
    使用方法については、こちらをご参照ください。「power source:WP Plugin: 記事内でphpを使うrunPHP」。
  • (追記) キャッシュを生成する「WP Super Cache
    あるのと無いのとでは表示速度が段違いです。ただ他のプラグインとの干渉で不具合が起こる場合がありますのでご注意ください。なお設置直後は設定画面にてステータスを「オン」または「ハーフオン」にしないと実行されません。あと注意点として「オン」または「ハーフオン」にした状態で「テーマ」を編集してもキャッシュが優先されて更新が反映されないので、テーマ編集時には必ずステータスを「オフ」にしてください。
    ダウンロードサイト
  • 追記) 記事内の文字を一括置換できる「Search Regex
    設置後、「メニュー」>「ツール」に「Search Regex」が追加されますので、そこから置換を行ってください。
    ダウンロードサイト
  • 追記)コメントスパム対策用プラグインその1「Akismet
    信頼のナンバー1アンチスパム用プラグイン。ただし商用の場合は有料になります。ちなみにwordpressのバージョン2.0以上であれば始めから入っていますので、有効化し、「Akismet API key」を入力すれば使えるようになります。
    Akismet API keyは、WordPress.comでアカウントを作成すると使えるようになります。
    アカウント作成はこちら
    ※作成時、「ブログのアドレス」を入力するところがありますが、これは無視してユーザ名フィールドの下にある「ユーザアカウントのみ取得」を押してから登録してください。
  • 追記)コメントスパム対策用プラグインその2「WP-SpamFree
    スパム対策用プラグインその2です。ほかのブログ曰く「強力すぎる」とのことw
    商用のため、Akismetが利用できない場合などはこちらをご利用ください。
    ダウンロードサイト
  • 追記)メールフォーム用プラグイン「Contact Form 7
    おどろくほど簡単にメールフォームを設置できます。
    ダウンロードサイト
  • 追記)WYSIWYGエディタ「TinyMCE Advanced
    言わずもがなの超有名WYSIWYGエディタ「TinyMCE」が設置できるプラグインです。WordPressの場合、デフォルトでも使いやすいエディタが用意されてるんですけどね~。それでも物足りないという方はどうぞ。
    ダウンロードサイト

nandani | 2010年07月19日 | コメント(0) | トラックバック(0) | CMS関連

WEBプログラム版ブログ設置完了

WEBプログラム版ブログの設置完了しました。

不具合があるかもしれませんが、それは出たときにということで。

メインページにも記述しておりますが、こちらはWEBプログラムに関しての覚書やソースを記述していく予定です。

これまでのアニメや漫画に関する記事は「趣味・日常版」をごらんください。

それにしても広告が無いってのはいいですね~^^

nandani | 2010年07月19日 | コメント(2) | トラックバック(0) | News & Topics

wordpressでシングルクォート・ダブルクォートが勝手に変換される問題点の解決方法

やたらと長いタイトルになりましたが、書いたとおりです。

wordpressでは半角で記述されたシングルクォート(')、ダブルクォート(")が勝手に全角に変換されてしまいます。普通のブログを書く分には問題ありませんが、プログラムのソースを載せるときなどは非常に困ります。

というわけで、解決方法。いろいろなブログにも紹介されていますが、覚書ということで。

  1. まず「wp-includes」フォルダの中にある「formatting.php」というファイルをダウンロードしてください。
  2. テキストエディタで「formatting.php」を開き、wptexturize()関数の中のにある
    $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
    という記述をコメントアウトして保存してください。
  3. 最後に「formatting.php」を元のフォルダにアップロードしてください。

これで半角クォートのまま出力されるようになります。なおあくまで表示の時サニタイズされているので、記事を書き直す必要はありません。

今回はこちらのサイトを参照させていただきました。You Look Too Coolさんのサイト

nandani | 2010年07月18日 | コメント(0) | トラックバック(0) | CMS関連

wordpressでカテゴリー一覧を表示する方法2

ウィジェットを使用せずに、カテゴリ一覧を表示させたい場合は

wp_list_categories()

が一番簡単な方法ですが、自動的にリスト形式で書き出されるため、デザインによっては不便なことがあります。MTのように<MTCategories>~</MTCategories>で囲んだ部分をループさせたりする関数があるといいのですが、残念ながらWordPressでは存在しません(プラグインならあるかもしれませんが)

そこで結局はデータベースから取り出してくる必要があります。
しかしわざわざ、$wpdb->get_resultsを使う必要はありません。

今回はget_terms()を利用します。(参考サイト:とりさんのソフト屋さんサイト)

<?php
    $cat_all = get_terms( "category", "fields=all&get=all" );
    foreach($cat_all as $value):
 ?>
<p><a href="<?php echo get_category_link($value->term_id); ?>"><?php echo $value->name;?></a></p>
<?php endforeach; ?>

get_termsで取得されるフィールドは

  • term_id
  • name
  • slug
  • term_group
  • term_taxonomy_id
  • taxonomy
  • description
  • count

となっていますので、foreachでループさせて「$value->term_id」という風に取得してください。

なおURLについては、get_terms()では取得できませんので、

get_category_link(カテゴリID)

で取得してください。(カテゴリIDはforeach中に「$value->term_id」で取得できます。)

なお、自分のやり方ではキャッシュが考慮されていませんので、考慮されたい方はこちらのサイトをご参照ください。とりさんのソフト屋さんサイト

nandani | 2010年07月18日 | コメント(4) | トラックバック(5) | CMS関連

WordPressの「ユーザ」管理画面にてフィールドを増やす方法

Cimy User Extra Fieldsプラグインを使用すると、ユーザの「プロフィール」編集画面にて、カスタムフィールドのように入力フィールドを増やすことができます。

ダウンロードサイト

インストール方法は例によって
プラグインをダウンロード後、解凍してフォルダごと「wp-content/plugins/」へアップロード。
wordpressの「プラグイン」設定で「有効化」すれば、このプラグインを使用できるようになります。

インストールが成功しましたら、左メニューの「設定」に「Cimy User Extra Fields」が追加されていますので、そこからフィールドの追加・編集を行ってください。

設定画面は英語なんでわかりづらいですが、基本的に画面下のほうにある「Add a new Field」と「Extra Fields」しか操作しません。

・Add a new Field:フィールドを追加する場合に使用します。
・Extra Fields:すでに作成したフィールドを編集します。

■Add a new Fieldsの設定例(画像をクリックすると拡大画像になります)

ここで注意点なのですが、サーバによってはフィールドタイプを「picture」や「avator」にすると画像がすんなりアップロードされない場合があります。

その場合は「wp-content」フォルダの中に「Cimy_User_Extra_Fields」というフォルダを作成し、書き込み権限を付けてください。
このプラグインでは、「wp-content/uploads」フォルダではなく、この「Cimy_User_Extra_Fields」フォルダにアップロードされるようです。

ちなみにテンプレートでの取り出し方は

get_cimyFieldValue(user_id, field_name);

です。

例) get_cimyFieldValue(1, "USER_AVATAR");

nandani | 2010年07月18日 | コメント(0) | トラックバック(1) | CMS関連

WordPressで記事のコメント一覧とトラックバック一覧を表示する方法

■突然ですが追記です
以下で長々と述べるコメントとトラックバックのセパレート方法ですが、「Trackping Separatorプラグイン」で何とかなるようです。
参考サイト (日々是好日さん)

コメント・トラックバックの別々表示方法パート2です。
ただしこの記事に関しては、「プラグイン検索をしてもあまりピンとこないし、時間もないからもう無理やり作ってしまえ!」という考えの元作ったため、利用価値はあまり無いかもしれません。
覚書ということで^^;

で、その無理やりな方法とは、

データベースから$wpdb->get_results使って取得する

です。
困った時のSQL作戦というわけです。

以下やり方

 

まずはコメント

<?php
    $query = "SELECT * FROM wp_comments 
    WHERE comment_post_ID = '".get_the_ID()."' 
    AND comment_approved = '1' 
    AND comment_type = ''";
    $get_comments = $wpdb->get_results($query, "ARRAY_A");
    if(!empty($get_comments)):
        foreach($get_comments as $comment_value):
?>
<div>
    <p><?php echo $comment_value["comment_author"]; ?> | <a href="<?php echo $comment_value["comment_author_url"]; ?>">URL</a> | <?php echo $comment_value["comment_date"]; ?></p>
    <p><?php echo $comment_value["comment_content"]; ?></p>
</div>
<?php
        endforeach;
    endif;
?>

データベースの構造についてはこちらをご参照ください。 参考サイト

■SQLの条件になっているフィールド名について
・comment_post_ID:記事のID。get_the_ID()で呼び出しましょう。
・comment_approved:「0」承認待ち、「1」承認済み、「spam」スパム
・comment_type:「trackback」トラックバック、「pingback」ピンバック、コメントは値なし(つまり空)

取得したデータは、「wp_comments」テーブルのフィールド名がキーとなって配列に格納されています。あとはforeachでループして、配列からデータを呼び出せば完成です。

■呼び出している配列のキーについて
・comment_author_url:コメント投稿者のURL
・comment_author:コメント投稿者名
・comment_date:コメント投稿日時
・comment_content:コメントの内容

これで

ダリ | URL | 2010-07-15 19:02:14
この記事については、ちょっと無理やりな方法でコメント取り出してます。使えなくても勘弁ね。

という風なコメント記事が一覧を表示できます。

 

つづいてトラックバック

<?php
    $query = "SELECT * FROM wp_comments 
    WHERE comment_post_ID = '".get_the_ID()."' 
    AND comment_approved = '1' 
    AND comment_type = 'trackback'";
    $get_comments = $wpdb->get_results($query, "ARRAY_A");
    if(!empty($get_comments)):
        foreach($get_comments as $comment_value):
?>

<div>
    <p><a href="<?php echo $comment_value["comment_author_url"]; ?>"><?php echo $comment_value["comment_author"]; ?></a> | <?php echo $comment_value["comment_date"]; ?></p>
    <p><?php echo $comment_value["comment_content"]; ?></p>
</div>

<?php
        endforeach;
    endif;
?>

コメントのときとほぼ同じです。

これで

ダリの雑記 | 2010-07-15 19:02:14
コメントとトラックバック...この記事については、ちょっと無理やりな方法でトラックバックを取り出してます。使えなくても勘弁ね。

という風なトラックバック記事が一覧表示がされます。

とりあえずはこちらで何とか機能しますが、たぶん調べてみればもっと便利なプラグインが存在するでしょうから、そちらをご利用になることをお勧めします。

nandani | 2010年07月18日 | コメント(0) | トラックバック(0) | CMS関連 | PHP関連

WordPressでコメント数とトラックバック数を表示する方法

WordPressはPHPで好きに改造できるので気に入ってるんですが、標準の設定が「なぜこんな設定なんだ?」と不思議になることがよくあります。
その代表的なものに

コメント・トラックバックが一緒くたになっている。

便利なこともあるんでしょうが、自分はこれまでデフォルトで使用したことがありません。

今回とある案件でブログを設置していたのですが、記事の内容の下に

Comment(3) | Trackback(2)

という記述をしなければならなくなりました。まあブログではよく目にする記述ですね。要するにその記事に何件コメント・トラックバックがあるかというものです。
さて、コメントの数を取得する関数はwordpressでもデフォルトでありますが、その関数

comments_number() 参考サイト

では、先にも記述したように「コメント」と「トラックバック」が一緒くたになっているため、この関数で取得する数値は「コメント数+トラックバック数+ピンバック数」になってしまいます。

なんでこんな仕様やねん!

引数で別々に取得できるのかな~と思って調べるも、そんなものは無く、どうすっかな~と思い調べてみると、やはり大量に出てきました。

Trackping Separatorプラグイン

今回は「MAKIZOU.COM」さんのサイトを参考に設置いたしました。
「Trackping Separatorプラグイン」のダウンロードサイトはこちら

プラグインをダウンロード後、解凍してフォルダごと「wp-content/plugins/」へアップロード。
wordpressの「プラグイン」設定で「有効化」すれば、このプラグインを使用できるようになります。

テンプレートの記述方法は

Comment(<?php comments_popup_link('0', '1', '%'); ?>) |
Trackback(<?php echo trackpings('count','trackback'); ?>)

※上記の記述ではリンクが考慮されていなかったので修正しました。

<?php comments_popup_link('Comment(0)', 'Comment(1)', 'Comment(%)'); ?> |
<a href="<?php the_permalink() ?>#trackbacks" >Trackback(<?php echo trackpings('count'); ?>)</a>

でOK!
簡単ですね。

■追記
今日気づいたんですが、「comments_popup_link()」はプラグインの関数ではなくデフォルトで存在する関数のようです。(参考サイト
上記の記述どおり、コメント数つきのリンクを生成できます。
しかし、トラックバックについての関数はやはりデフォルトでは存在しないので、このプラグインを使用する必要があります。

nandani | 2010年07月18日 | コメント(2) | トラックバック(2) | CMS関連

Copyright(c) 2010 - 2017 ダリの雑記