このサイトでは更新情報の表示に「What’s New Generator(http://residentbird.main.jp/bizplugin/plugins/whats-new-generator/)」というプラグインを使っています。
ショートコード貼り付けるだけで更新があった投稿や固定ページを表示できるので非常に重宝しています。
ところがこのプラグイン、カスタム投稿には対応していないんですね。このサイトではいくつかカスタム投稿で作っているページがあります。それらの情報が更新一覧に表示されないのでは片手落ち。
そこでWhat’s New Generatorのコードをちょこちょこっと書き換えてしまうことで対応してみました。
対応バージョンは1.8.0です。
変更する箇所は意外なことに1箇所のみ。「whats-new-generator.php」の「class WhatsNewInfo」のコンストラクタに表示させたいカスタム投稿のスラッグを追加するだけ。120行目あたりになるはずです。具体的には以下のように追加します。
class WhatsNewInfo{
var $title;
var $background_color;
var $postlist_url;
var $items = array();
public function __construct(){
$options = WNG::get_option();
$this->title = esc_html( $options['wng_title'] );
$this->background_color = $options['wng_background_color'];
$this->postlist_url = $options['wng_postlist_url'];
$condition = array();
if ( $options['wng_content_type'] == '投稿'){
$condition['post_type'] = 'post';
}else if ( $options['wng_content_type'] == '固定ページ' ){
$condition['post_type'] = 'page';
}else{
// *********** この配列にカスタム投稿のスラッグを追加 ******************* //
$condition['post_type'] = array('page', 'post', 'cp_androidapps', 'cp_websites', 'cp_opttools');
}
$condition[‘post_type’]に格納する配列にスラッグを追加するだけです。上記の例では’cp_androidapps’, ‘cp_websites’, ‘cp_opttools’の3個を追加しています。
追加する代入文は、What’s New Generatorの設定によって変更してください。表示する情報を「投稿のみ」のとしている場合は、投稿のif文内に、「固定ページ」のみとしている場合は、固定ページのif文内に。それ以外の場合は、上記例のようにelse文内の代入文に追加してください。
ただし、この対応方法、おそらくプラグインの更新で消えてしまいます。更新の時にはご注意を・・・