【千社札めぐり】本日が最終日!!

約1ケ月開催された古町花街千社札めぐりも本日が最終日です。

みなさんはもう行かれましたか?

twitterやFacebookでも「行ってきたよ♪」という声も聞かれます。

春の訪れを感じるこの季節にふらり古町も素敵ですよね!


特定のユーザーの場合にはカテゴリをあらかじめチェックする【WordPress】

すっかり春めいてきまして。みなさんの花粉症の具合はいかがですか?

私自身は平気なのですが、まわりの花粉症の人たちをみると辛そうで・・・

それよりも私は春先特有の猛烈な眠気に困っています。間断なく春の眠気が襲ってくるのです。強敵です。手強いです。眠いです。

いつものことじゃないのかって?いやー、まぁ。。。

150327

さて、今日はWordpressのお話で。

現在投稿するユーザーが複数入るポータルサイトみたいのを作ってまして。

記事書く時にカテゴリーのつけ忘れって、結構あると思うのですよね。それで、特定のユーザーの場合は、必ずあるカテゴリに初めからチェックが入った状態にしたいな、と。

ユーザー権限で分岐できればもっとカンタンだったかもなのですが、今回はjQueryで処理しました。

 

条件

  1. ユーザーのプロフィール項目にカスタムフィールド(ACF使用)でタイプ別のチェック項目を作っている。
  2. 前記チェック項目とslugが対応したカテゴリを作ってある。

 

処理

  1. ユーザーのプロフィール情報から該当するチェックボックを配列に入れる。
  2. slugのカテゴリIDを取得する。
  3. ダッシュボードのカテゴリのチェックボックスには「in-category-カテゴリID」のIDが付与されるのを利用し、対応する「in-category-カテゴリID」のチェックボックスの’checked’を’checked’にする。
  4. 2、3の処理をforeachでプロフィール情報のチェックボックス分行う。

 

コード

※function.phpに記述

function check_cat_type() {
    //ユーザーID取得
    $user = wp_get_current_user();
    $userID = $user->ID;
        
    //type 
	/* プロフィール情報とカテゴリの共通するスラッグ */
    $type01 = 'type01';  
    $type02 = 'type02'; 
    $type03 = 'type03'; 
    $type = 'profile_type';
	/*  'profile_type'はプロフィール情報のカスタムフィールドのslug */
    //ユーザーのタイプ取得
    $profile_type = get_the_author_meta( $type, $userID);
    
    if($profile_type != ''){
        foreach ($profile_type as $thistype){
            //カテゴリーIDの取得
            if($thistype == $type01){
                $idObj = get_category_by_slug( $type01 );
            }elseif($thistype == $type02){
                $idObj = get_category_by_slug( $type02 );
            }elseif($thistype == $type03){
                $idObj = get_category_by_slug( $type03 );
            }
            $cat_id = $idObj->term_id;
            
            //jQueryでチェックボックスに該当するチェックボックスにチェックを入れる
            $script_type = '<script type="text/javascript">';
            $script_type .= 'jQuery(document).ready(function($){';
            $script_type .= 'jQuery("input#in-category-' .$cat_id  .'").attr("checked", "checked");';
            $script_type .= '});';
            $script_type .= '</script>';
            echo $script_type;
        }
    }
}
add_action('admin_head', 'check_cat_type');

 

今回はコチラを参考にさせていただきました。ありがとうございます!

記事投稿時に指定したカテゴリーのチェックボックスを選択済みにする

 

今の所これだと、編集時にも必ずチェックが入るんですよね。

あえてチェック外したいなっていうときは忘れないようにですねー


一癖あるゾ COOKIE….

どうもKazです。

はじめて…と言っていい程、まともにcookieを触る事になりまして…
まぁ、さわったんですがね。
コイツが以外と一癖あるなって改めて思ったので、忘れないように書いとこうと思います。

今回はPHPで扱ったのですが、読み・書きはJqueryで扱うよりもカンタン♪
フォームのPOSTで渡す動きが飲み込めていれば、カンタンにおいしくお使い頂けます。

ただ、動きが…この動きが独特で…気づくまで頭を抱えてました。

【cookie】の生態
・いつでも読める、いつでも書ける。
・変数にもカンタンに内容を入れられます。
・読み込んで加工を加え書き込み、また読み込むと”加工前の内容”が入っています。
・cookieの削除を行っても”消えません”。

この生態の後半2つ。
通常の変数やレコードの書き込みに慣れてすぎていると、まったく感覚がつまめません…

書き直したのに、変わらない!!
消したのに、まだ有る!!

まぁ、扱い慣れている人ならば『何言ってんだ』と思うかもしれませんが…
ページを再度読み込まない限り内容が変わらないって言うのは、慣れません!!

cookieを扱う際は、書き込みは気にしなくて良いのですが
リアルタイムに内容を扱う際は、特定の変数に入れて
その変数をリアルタイムに変わるcookieとして使いましょう。

あとは、リロードの対策とcookieの賞味期限の調整をお忘れなく。

screenshot


Snipping Tool(スニッピングツール)という画面キャプチャソフト

 

今回は、Windows Vista(Home Basicは未実装)以降のバージョンに実装された画面キャプチャソフトです。

今更?って思う方もいるでしょうが、正直言うと知らなかったんです(笑)
元々、画面キャプチャソフトは昔からシェアウエアを使用してた為、
必要がなかったのです。
今回、お客様に簡単に画面キャプチャを取ってもらうために
何かいいソフトはないか調べていたら、
WindowsにSnipping Tool(スニッピングツール)があることを知って、
ビックリ!!
こんないいソフトがあったなんて・・・

なので、今更かもしれませんが紹介します。
画面キャプチャソフトとは?パソコンの画面に表示されているものを
画像にして保存するソフトです。
全体画面キャプチャは、キーボードの右上に「PrintScreen」と書かれたキー(「PriScr」と略されていることもあります。)を押せば、取ることはできます。
では、Snipping Tool(スニッピングツール)を使うと何ができるかというと
1.自分の好きな形に取ることができる。
2.取った画像に直接マウスで文字が書ける。
3.そのまま別のソフトに貼り付けや画像として保存できる。

それでは、説明してきますね。

まず、Snipping Tool(スニッピングツール)は
Windowsの「スタート」→「すべてのプログラム」→「アクセサリ」の中に「Snipping Tool」があります。

01
Snipping Toolが立ち上がると、ウィンドウが出現し、背景が白いマスクがかかった画面になります。
1.自分の好きな形に取ることができる。

操作ウィンドウの「新規作成」の▼から切り取りの方法が4種類選べます。
・自由形式の領域切り取り
・四角形の領域切り取り
・ウィンドウ領域切り取り
・全画面領域切り取り

02

・自由形式の領域切り取り
マウスをドラッグした形に切り抜けます。一筆書きになるので注意!

03

04
・四角形の領域切り取り
マウスをドラッグしたエリアを四角形に切り抜きます。

05

06

・ウィンドウ領域切り取りは選択したウインドウを切り抜きます
・全画面領域切り取りは文字通り全画面を切り抜きます。
2.取った画像に直接マウスで文字が書ける。
画面キャプチャ後、「ペン」のボタンを押した状態にすると、直接マウスで文字が書けるようになります。
画像の注意点や指示など書くことができます。(フリーハンドです。)

07
※消しゴムを使うと簡単に消すことができるので何度でもやり直せます。
3.そのまま別のソフトに貼り付けや画像として保存できる。
画面キャプチャ後に「コピー」のボタンを押しすと別のソフト(Word、Excel)に直接貼り付けることができます。

「保存」のボタンを押しすと画像ファイルとしての保存が可能(保存形式はJPEG・HTML・PNG・GIF)

08

 

●こんなこともできます
例えば、以下のようにウィンドウの「メニュー」一覧など通常の方法では、うまく取り込む ことができません。

09

こんな時は、Snipping Toolを立ち上げた後、一旦「Esc」キーを押して、Toolを非アクティブ状態にします。その後、キャプチャしたい「メニュー」を表示状態にし、そのまま「Cttl」キーと「PrintScreen」キー両方を押します。こうすることで、メニューが表示されたまま、Snipping Toolが起動しますので、あとは今まで通りの方法でキャプチャするだけです。意外と簡単にできますので、是非試してみて下さい。