自作プラグインをWordPrss公式サイトへ登録申請したら拒否された話

2016年、初めてWordpressの公式サイトへ自作プラグイン(wp users guide)を登録しました。

これでインストールも更新も管理画面から簡単に行えるようになりましたのでユーザーさんにとっても便利になったと思います。

さて、タイトルの件についてですが、公式サイトに登録する手順を教えてくれるサイトを参考にreadme.txtを編集したり登録申請したりしたのですが、そういった解説サイトで抜けているのが「審査の結果、以下の理由で拒否されました」という内容。

私も初めて申請したので、今までWPのルールに則っていない記法を行っていた事を色々と知り、深く反省すると共に「やっぱりWordpressって便利に作られているなぁ」と改めて感嘆しました。

そこで私と同じように登録の申請で拒否された恥ずかしい人の為に、私が拒否された内容と解決策を記しておきます。参考になれば幸いです。

$wpdbの機能をAjax等で利用する場合

Ajaxの利用等で通常のアクセスとは異なる方法で$wpdbを使いたい場合、以下のファイルを読み込めば利用できるようになります。

[php]
// $wpdbを利用する
$path = ‘WordPressのルートパス’;
include_once($path.’wp-config.php’);
include_once($path.’wp-load.php’);
[/php]

後は通常どおり「 global $wpdb; 」とグローバル宣言して使います。

どこかの英語サイトでこの方法を見つけたのですがどこだったか忘れました…けど感謝。

カテゴリーの並び替えにはカスタムメニューのデータを利用する

WordPress3.0から追加された「カスタムメニュー」の機能はとても使い易いです。

当ホームページでも既にヘッダー、サイドバー、フッターに組み込んでいます。(組み込むほどのメニューも無いのですが…)

さて、そんなカスタムメニューの機能を利用して作成されたメニューのデータを他で利用したい場合は、以下の関数で取得出来るみたいです。

wp_get_nav_menu_items(ID)

IDはメニューIDです。

これでカスタムメニューで設定した項目のデータが配列で取得できますので、後は下記のようにforやforeachを利用すればお望みのデータが取得出来ます。

[php]
<?php
$menu_items = wp_get_nav_menu_items(‘header-menu’);
foreach($menu_items as $menu) :
echo ‘[title] ‘ . $menu->title . ‘ (ID: ‘. $menu->object_id . ‘)<br />’;
endforeach;
?>
[/php]

調べるキッカケは「自分の好きな順序でカテゴリーを並べたカスタムメニューを利用したい」という要望でした。現状、プラグインか何かを導入する以外にカテゴリーを上手く並べ替えられないので、「わざわざプラグインを入れるのはしんどい」という人にとってはそれも有用な使い方かな、と思います。