WordPress メルマガ用ランダム記事一覧

自作の関数を WordPress のページ内で実行できるようにするショートコードの作り方
https://goo.gl/fcMdjt

[WordPress] FeedWordPressプラグインでRSSを記事として取り込む
https://goo.gl/FJh4Np

[WordPress] WP-DBManager v2.63アップデート
https://goo.gl/JxKhbB

WordPress のオフィシャル ロゴと画像の素材をダウンロードできるページ
https://goo.gl/Ib3sbt

WordPress の WP-Members プラグインで 氏 名 や 住所 情報なども登録時に入力する方法
https://goo.gl/TF4JUq

[WordPress] sitemap.xml が更新されない (Google XML Sitemaps:XML Sitemap Generator)
https://goo.gl/pzds0C

[CodeIgniter] XMLRPCでWordPressへ投稿する
https://goo.gl/l9lZYs


https://goo.gl/L6z4lF

自作の関数を WordPress のページ内で実行できるようにするショートコードの作り方

プロが教える WordPress セミナー開催中!

背景

WordPress では、あらかじめ登録してある PHP の関数を呼び出せる「[」と「]」を用いたショートコードという機能があります。

元々 WordPress 自体にもショートコードは存在しているのですが、これを自作してみようと言う記事です。

コード

とりあえず、次のコードを functions.php に追加します。

function hello_now_func() {
    return date_i18n("Y-m-d H:i:s");
}
add_shortcode('hello_now', 'hello_now_func');

続いて投稿や固定ページに次のコードを書き、表示してみましょう。

[hello_now]

こんな感じで見えると思います。
ショートコード表示例

解説

もっとも重要なコードは add_shortcode() 関数です。

第一引数にショートコードとして使いたい名前を指定し、
第二引数に登録した関数を指定します。

つまり、add_shortcode() 関数の前に定義している hello_now_func() を登録していると言う事です。

hello_now_func() は、現在時刻を取得する WordPress の date_i18n() 関数の結果を戻り値とするだけの関数です。

参考:date_i18n() 関数

まとめ

ショートコードを WordPress に追加するのはとても簡単だと言う事が見ていただけたのではないでしょうか。

直接プログラムをページに埋め込むのはセキュリティ的にリスクがありますので、ショートコードを使うのは良い解決策の一つですね。

[WordPress] FeedWordPressプラグインでRSSを記事として取り込む

複数のブログを1つにまとめたり、別のブログの記事を取り込んだりするためのプラグインです。

FeedWordPress

自動更新や条件取り込みなど色々設定できるみたいですが、とりあえず動かしてみましょう。

プラグインをインストールして有効化すると以下のようなメニューが追加されます。

次に取り込むRSSを登録します。
例として、「Impress Watch Headline」のRSSを指定してみましょう。
>http://rss.rssad.jp/rss/headline/headline.rdf

メニューをクリックする。下の画像のようにURLを入力して「Add」を押すだけです。

追加されました。

次に記事を取り込んでみます。投稿ボタンを押します。

あとは「UpdateNow」を押すだけです。

投稿一覧を確認してみます。

無事に取り込めました。

[WordPress] WP-DBManager v2.63アップデート

WP-DBManagerがv2.63にバージョンアップして、念願のポート番号指定が対応されました!
サポートコミュに有志の方がコードを載せて、ようやく今回のバージョンで組み込まれました。

これで色々なホスティングでも大丈夫だと思っていたら、GZIPオプションを有効にすると動かない・・・

原因を探ると使っているホスティングではGZIPにパスが通っていませんでした(泣

結局プラグインのソースに手を入れる必要が発生し、今もWP-DBManagerが自動アップデートさせられない状況が続いています。

GZIPにパスが通っていないホスティングが悪いのか。。。
mysqldumpのパスを設定するように、GZIPのパスを設定できないWP-DBManagerが悪いのか。。。

個人的には前者な気がするんですけど・・・

WordPress のオフィシャル ロゴと画像の素材をダウンロードできるページ

WordPress のオフィシャル ロゴと画像の素材をダウンロードできるページです。

↓こんなロゴ画像など
wordpress-logo-stacked-rgb

↓本家のページへのリンク
WordPress Logos and Graphics

素材を使う度に探すのが面倒になったので・・

WordPress の WP-Members プラグインで 氏 名 や 住所 情報なども登録時に入力する方法

WordPress のサイトで簡単に会員サイトを作る事ができる WP-Members プラグインはとても便利です。

標準では「メールアドレス」と「ユーザー名」のみが登録に必要な入力項目ですが、他の情報(氏名や住所など)も設定で簡単に含めることができます。

やり方

設定方法は次の通り。

  1. 「設定|WP-Members」メニューを開く
  2. 「フィールド」タブを開く
  3. 「フィールド設定」の「表示」や「必須」のチェックを必要に応じてチェックする
    WP-Members 追加項目

「フィールド設定」では各項目を自由に上下にドラッグして移動することが可能です。

まとめ

自作のフィールドも追加することができるなど、非常に使い勝手の良いプラグインです。
これ、スクラッチでオーダーされたらいくらで作るだろう・・(苦笑

[WordPress] sitemap.xml が更新されない (Google XML Sitemaps:XML Sitemap Generator)

気付いてない方の助けになれば。
Google XML Sitemaps のバージョンアップ(4系 2014/03/30~)で sitemap ファイルの出力方式が変更されました。

そのため、設定画面で出力方式を変更してあげないと、古いsitemap.xmlが読まれ続けてしまう状態になります。
切替方法は下記のリンクをクリックするだけです。
xmlsitemap_01

※元々 Google XML Sitemaps で sitemap.xml を作り出していた人はパーミッションは問題無いはず。

クリックすると「sitemap.backup.xml」のようにリネームされて新方式になります。
(勝手に切り替えてくれよ・・・と思われる方もいるでしょうが sitemap.xml を自分のプラグインだけが扱うわけでは無いので勝手に消される方が迷惑がかかる可能性が高いんです)
xmlsitemap_02

※環境によって、ウェブマスターツールの登録URLを変更しなければいけない事があるので、必ずウェブマスターツールで読み込めているかを確認してください。

部分的に日本語化されていても、肝心なメッセージが日本語化されていませんので、いくら赤字でも見過ごす方も多いかもしれません。
こういう内容は、WordPressの更新アナウンスのように全画面で常に表示してくれてるとありがたいですね。

追記:
旧バージョンからインデックスの再構築の機能が無くなったり(動的に作るようになったので不要になったのはわかりますが)して混乱されている方が多いようです。
また、表示されるxmlファイルのパスが「The URL to your sitemap index file is: http://*****/sitemap.xml」となっている方は「http://*****/index.php?xml_sitemap=params=」のURLに変更してあげると、必ず新フォーマットの形式でサイトマップを出力してくれます。
挙動がおかしい方はこちらを試してみてください。



弊社代表(ドリームハイブ代表 山本 悟)がお送りしている無料のメルマガです。
興味がございましたら、是非ご登録ください!!

[CodeIgniter] XMLRPCでWordPressへ投稿する

WordPressは「XMLRPC」という機能を使って、外部からリモート投稿することができます。
[設定]-[投稿設定]の下記にチェックを入れると有効になります。

それでは、「CodeIgniter」でプログラムを書いてみます。
※下記コードは「CodeIgniter」のある程度の知識が必要です。

$this->load->library('xmlrpc');
$this->xmlrpc->server('http://WordPressのURL/xmlrpc.php');

//事前に認証確認をして「Blog_id」を取得する
$this->xmlrpc->method('wp.getUsersBlogs');
$this->xmlrpc->request(array('ユーザ名', 'パスワード'));
if ( ! $this->xmlrpc->send_request())
{
	echo $this->xmlrpc->display_error();
} else {
	echo "WordPress認証OK";
	$blog_info = $this->xmlrpc->display_response();
}

//記事の投稿
$this->xmlrpc->method('metaWeblog.newPost');
$thePost = array(
			array(
			'title' => array('記事タイトル','string'),
			'description' => array('記事本文','string'),
			'categories' => array(array('カテゴリ'),'struct'),
			'post_type' => array('post','string'),
			), 'struct');
$post_data = array(
	$blog_info[0]['blogid'],	//取得した「Blog_id」
	'ユーザ名',
	'パスワード',
	 $thePost,
	false				//下書き
);
$this->xmlrpc->request($post_data);
if ( ! $this->xmlrpc->send_request())
{
	echo $this->xmlrpc->display_error();
} else {
	$post_id = $this->xmlrpc->display_response();
	echo "投稿OK:[$post_id]";
}

こんな感じでWordPressへ投稿ができました。
カスタムフィールドやキーワード設定など、その他の投稿設定も「$thePost」へ項目を追加することで対応できるようです。
詳しくは下記をご覧ください。
[WordPress] XML-RPC MetaWeblog API

あなたの IT の疑問・不安をすべて解決するコンシェルジュ サービス