カスタム投稿タイプでもカスタムメニューにcurrent付けたい!

みなさま、カスタムメニュー使ってますか?

スクリーンショット 2017-05-31 14.21.43.png

カスタムメニューといえば、WordPressの管理画面内でナビゲーションメニューの管理ができる機能ですが、現在地をあらわしてくれるclass「current」を付加してくれるのがとても便利ですよね。
しかし、カスタム投稿タイプになると話は別。カスタムリンクで登録しても、アーカイブページにしか「current-menu-item」は付きません。それ故、記事ページに行くと「current-menu-item」表示が外れてしまうという事態に。
固定ページだけをメニューに入れる場合や、そもそもcurrentを使わない場合はいいのですが、カスタム投稿タイプは想定されていないようで、singleには反応しません。結局phpで分岐を書くハメになるんですな。トホホ

でも、やっぱりカスタムメニューの固定ページ自動追加やcurrentや管理画面から編集ができるのは魅力的。どうにかしてカスタム投稿タイプに対応できないか。

それを叶えるプラグインを見つけました!探してみるもんだね!
Current Menu Item for Custom Post Types
https://ja.wordpress.org/plugins/current-menu-item-for-custom-post-types/

一言で説明すると
カスタム投稿タイプの記事ページにもメニューに「current-menu-item」を付加することができるようにするプラグインです。そのまんまかよ!

おおまかな流れとしては
カスタム投稿タイプアーカイブと同じスラッグの固定ページを作って、設定画面でカスタム投稿タイプと固定ページを紐付けして、その固定ページをカスタムメニューに追加すると記事ページでもカスタム投稿アーカイブを親階層としてcurrentを当ててくれるというもの。


1.さっそくインストール
スクリーンショット 2017-05-31 14.22.12.png

インストール・有効化すると「設定」に「Current Menu Item for Custom Post Types」が追加されます。名前が長いです。


2.固定ページ作成

スクリーンショット 2017-05-31 14.29.37.png

カスタム投稿タイプと同スラッグ(ここではblog)の固定ページを作成します。重複とか気にしなくていいから!


3.紐付け

スクリーンショット-2017-05-31-14.22.41.png

Assign(アサイン)は割り当てって意味です。カスタム投稿タイプ「ブログ」に固定ページの「ブログ」を割り当てます。

一応説明しておきますと、オプションではclassの指定ができたり、メディアや投稿などの標準投稿タイプと紐付けできたりします。


4.カスタムメニューに固定ページとして追加

スクリーンショット 2017-05-31 14.24.35.png

カスタムメニューに「ブログ」を追加します。ここで注意すべきはカスタムリンクではなくあくまで固定ページとして追加するということ。ブログの欄の右側をご覧ください。固定ページになってるでしょ?


5.おわり

スクリーンショット 2017-05-31 14.21.43.png
スクリーンショット 2017-05-31 14.21.19.pngこんな感じでブログ記事ページ(single-blog.php)でもメニューの「ブログ」のとこにclass「current-menu-item 」が割り当てられるようになりました。やったネ!

広告

WordPressのページの更新の予約にはRucyが超便利

固定ページや投稿の更新が予約できたらなあ、そう考えているあなたに朗報です。
WordPressが不得意とする更新予約。かゆいところに手が届くプラグインがあるもんですね。

Rucy
https://wordpress.org/plugins/rucy/

このプラグイン、インストールして有効化するだけで固定ページの更新予約(新規投稿予約じゃないよ)が実に簡単に実装できちゃうのです。

list.png

有効化した後に設定画面に行ってみると固定ページ以外の投稿タイプ(投稿・カスタム投稿など)をチェックボックスで選べるようになっています。

config

デフォルト機能の予約投稿が使える(wp_cronが使える環境)なら動作するようです。

肝心の予約更新画面

プラグインを有効にすると対象となっている投稿タイプの編集画面のエディタの下にこういうボックスが追加されます。

modi.png

設定は簡単。
“予約更新を行う”にチェックを入れ更新日時を設定するだけ。
あとはこのエディタにコピーされた記事を編集して保存(更新ボタン)するだけ。

reserved.png投稿一覧にReservation Update DateTime(予約更新時間)が表示されます。こういう細かい気配り、助かりますよね〜

 

以上、WordPressのページの更新の予約が簡単にできるプラグインRucyのご紹介でした。

[jQuery] 指定のクリック回数でclassを付加

jQueryで遊ぶ。

サンプル←そんなもんねえよ

#hogeを5回クリックしたらクラスを付加するスクリプト。

var num = 0;
$(document).ready(function(){
	var target="#hoge";
		$(target).click(function () {
		$(this).data("click", ++num);
	    var click = $(this).data("click");
	    if(click==5){
	        $(this).addClass("クラス名")
	    }
	    return false;
	});
});

おまけ

5の倍数のクリック数でクラスをトグルする。

var num = 0;
$(document).ready(function(){
	var target="#hoge";
		$(target).click(function () {
		$(this).data("click", ++num);
	    var click = $(this).data("click");
	    if(click%5==0){
	        $(this).toggleClass("クラス名")
	    }
	    return false;
	});
});