WordPress:条件分岐まとめ

WordPressで利用する条件分岐をこのページで徐々にまとめていきます。 カスタム投稿タイプ 投稿タイプ 特定の投稿タイプかどうか判定します。 if (get_post_type() === ‘投稿タイプ名’) { / … “WordPress:条件分岐まとめ” の続きを読む

WordPressで利用する条件分岐をこのページで徐々にまとめていきます。

カスタム投稿タイプ

投稿タイプ

特定の投稿タイプかどうか判定します。

if (get_post_type() === '投稿タイプ名') {
  //処理
}

アーカイブページ

// 一つの投稿タイプを判定
if( is_post_type_archive( '投稿タイプ名' ) ) {
  // 処理
}

// 複数の投稿タイプを判定(いづれかの投稿タイプのアーカイブページであればtrue)
if( is_post_type_archive( array( '投稿タイプ名 A', '投稿タイプ名 B', '投稿タイプ名 C') ) ) {
  // 処理
}

Asana × Google Calendar 同期方法

今日は、プロジェクト管理ツールAsanaとGoogle Calendarの連携、同期させる方法を、Asanaのサイトの和訳をベースに紹介しようと思います。

Asanaについて

以前、プロジェクト管理ツールを探した時に、「無料」「使いやすい」「機能が充実」この3点が揃っていたのが、Asanaでした。
Asanaは、フェイスブックの共同創業者のダスティン・モスコビッツによって立ち上げられたプロジェクト管理ツールです。
2019年には、東京オフィスも出来るらしく、ここ数ヶ月、メディアの露出が増えて存在感を強めています。

Asanaを使いはじめた頃は、Asanaについての記事もあまり無かったんですけどね。
それでは、本題にまいりましょう。

はじめに

連携機能は、Googleカレンダー、Appleカレンダー、アウトルックもしく他のカレンダー(URLの登録ができるもの)上でタスクの期限を表示できます。
プロジェクト、タグ、My Tasksのリストをこれらのカレンダーと連携することができます。

連携すれば、タスクの期限を1日のイベントとして見ることができます。表示された各イベントををクリックするとAsanaのサイトに飛びます。

注意事項

  • 表示されるのは、タスクに指定された期限日だけです。
  • Asanaの情報を更新すれば、カレンダーに反映されますが、カレンダー側の情報を更新してもAsanaの情報に反映することは出来ません。
  • 期限を過ぎたタスクはカレンダーに同期されません。
  • サブタスクも同様に同期されます。
  • チームカレンダーは同期できません。
  • Outlook for Mac 2011は、URLでの連携ができません。
  • 初回の同期では瞬時に同期されますが、2回目以降では、同期に1日かかることがあります。

同期させたいプロジェクト、タグ、My Tasksを選ぶ

プロジェクトの同期URLを取得する

  1. 左メニューから同期したいプロジェクトを選択
  2. ヘッダーにあるプロジェクト名の横の「・・・」をクリック
  3. 「Export option」の上にカーソルを持ってきて、「Sync to Calendar」を選択

タグの同期URLを取得する

  1. タスクをクリックして表示される右側のパネル内から同期したいタグをクリック。タグ一覧に表示が切替わります。
  2. ヘッダーにあるタグ名の横の「・・・」をクリック
  3. 「Sync to Calendar」を選択

My tasksの同期URLを取得する

  1. 左メニューからMy Tasksをクリック
  2. ヘッダーにあるタイトルの横の「・・・」をクリック
  3. 「Sync to Calendar」を選択

Googleカレンダーと同期させる


Asanaの画面で出てきたポップアップの中で、Googleカレンダータブにあるリンクをコピーします。

*プロジェクトを複数登録する場合は、一つずつ登録する必要があります

Googleカレンダーにて

  1. 左メニューにて、「友達のカレンダーの追加」の隣にある「+」アイコンをクリック
  2. 「URLで追加」を選択

表示されたポップアップウィンドウにて

  1. 表示されたポップアップウィンドウに先ほどAsanaでコピーしたリンクをペーストします。
  2. 「カレンダーを追加」をクリック。これで、GoogleカレンダーにAsanaのタスクとしてスケジュールが表示されます。

タスクの詳細を知りたい場合


カレンダーに表示されたタスクの予定をクリックすると、Asanaのタスクへのリンクがあります。
詳細を確認したいときは、このリンクからAsanaのページに移動して確認しましょう。

同期を解除する

  1. 左メニュー内「他のカレンダー」の横にある矢印をクリック
  2. 削除したいカレンダーにカーソルを合わせるとバツ印が出るので、そのバツ印をクリック
  3. ポップアップが表示されるので、「リストからカレンダーを削除」をクリック

まとめ

AsanaとGoogleカレンダーの同期の手順は以上となります。
全てのスケジュールを一箇所で確認できるのは、とても便利です。カレンダーに表示されれば、うっかり締め切りを忘れるリスクを減らせると思います。まったく難しいものではないので、ぜひ設定してみてください。

WordPress:特定の親ページを持っているかどうか判定する

特定の親ページを持っているかどうかを判定したい時には、以下のコードで分岐できます。 <?php if ($post->post_parent) { $post_data = get_post($post-&g … “WordPress:特定の親ページを持っているかどうか判定する” の続きを読む

特定の親ページを持っているかどうかを判定したい時には、以下のコードで分岐できます。

<?php if ($post->post_parent) {

	$post_data = get_post($post->post_parent);
	$parent_slug = $post_data->post_name;

	if ($parent_slug === '判定したい親ページのスラッグ') { ?>
		<!-- ここにtrueの場合の処理 -->
	<?php } else { ?>
		<!-- ここにfalseの場合の処理 -->
	<?php }
} ?>

CSS:background-positionの%(パーセンテージ)指定

CSSでbckground-imageのポジションを%(パーセンテージ)で指定に関して、僕は、指定したbackground-imageの中心が、要素の横幅全体に対して指定した%が適用されると思っていましたが、そうではあり … “CSS:background-positionの%(パーセンテージ)指定” の続きを読む

CSSでbckground-imageのポジションを%(パーセンテージ)で指定に関して、僕は、指定したbackground-imageの中心が、要素の横幅全体に対して指定した%が適用されると思っていましたが、そうではありませんでした。

図を使って説明

例えば、幅1600pxの要素にbackground-imageを以下のように指定したとします。

.sample {
	background-image: url(images/square.jpg);
	background-size: 600px 600px;
	background-position: left 70% top 0;
}

誤った認識

以下のように背景全体に対してbackground-positiionで指定した%が適用されると思っていたのですが、これは誤りです。

7対3のイメージ その1

正しい認識

実際は以下のように、指定された背景画像の余白に対してbackground-positiionで指定した70%が適用されます。

7対3のイメージ その2

まとめ

background-positionで%指定をするときは、指定したbackground-imageの余白に対して、%が適用される。

WordPress:子テーマのディレクトリーURIを取得する

親テーマのディレクトリーURI get_template_directory_uri() 子テーマのディレクトリーのURI get_stylesheet_directory_uri()

親テーマのディレクトリーURI

get_template_directory_uri()

子テーマのディレクトリーのURI

get_stylesheet_directory_uri()

WordPress:複数のカスタムフィールドの値を元に記事を絞り込みたい時の書き方

複数のカスタムフィールドの値を元に記事を絞り込みたい時、’relation’パラメータの’OR’と’AND’を同時に使う書き方です。 以下のコードで … “WordPress:複数のカスタムフィールドの値を元に記事を絞り込みたい時の書き方” の続きを読む

複数のカスタムフィールドの値を元に記事を絞り込みたい時、’relation’パラメータの’OR’と’AND’を同時に使う書き方です。

以下のコードでは、カスタムフィールド’cf_date_01’での絞り込み条件に該当する記事、もしくは、カスタムフィールド’cf_date_02’での絞り込み条件に該当し、かつ、カスタムフィールド’cf_date_03’での絞り込み条件に該当する記事を返します。A もしくは B かつ C という条件です。

When you want to narrow down posts with multiple customfields we can use parameter Relation’s value ‘OR’ and ‘AND’ at the same time.
Code below show you how to use ‘OR’ and ‘AND’ at the same time.
It can be conditions that A or B and C.

$date = date("Y-m-d");

$query = new WP_Query( array(
	'meta_query' => array(
		'relation' => 'OR',
		array(
			'key' => 'cf_date_01',
			'value' => $date,
			'compare' => 'LIKE'
		),
		array(
			'relation' => 'AND',
			array(
				'key' => 'cf_date_02',
				'value' => $date,
				'compare' => '<='
			),
			array(
				'key' => 'cf_date_03',
				'value' => $date,
				'compare' => '>='
			)
		)
	)
));

参考:

AsanaとInstaganttの連携方法

プロジェクトマネジメントには、Asanaを利用しています。
基本的には、ほとんどの工程を自分一人で行うので、ほぼタスクマネジメントとして使っています。

Asanaを利用する際に他のサービスも調べましたが、Asana一択というほど優れているサービスです。
その決めての一つがガントチャート機能を無料で利用できることです。
AsanaとこのInstaganttを連携させることで、ガントチャートを利用することが可能になります。

サービスをまたぐので、利用する前は、ページの切り替えが面倒かと考えていましたが、決してそんなことはありませんでした。
ブラウザの2番目と3番目のタブには、いつもAsanaとInstaganttを開いています。

そのInstaganttとの連携方法をお伝えします。
連携と言っても特に難しい操作はありません、非常に簡単です。

まずInstagantt( https://instagantt.com )にアクセスします。
下図、赤枠の”SIGN UP WITH ASANA”からログインします。これだけです。

次にプロジェクトを連携させます。
ログイン後の画面の左メニューにある赤枠の「+」マークをクリックします。

次に「Connect Projects」をクリック。

ポップアップの画面が現れますので、連携したいプロジェクトを選択します。

無料版では、3プロジェクトまで連携することが可能です。
ここでオススメなのが、Asana上でアサインされているタスクの一覧”My tasks on 部署名”を連携させることです。
Asana上で全てのタスクに自分をアサインすれば、”My tasks on 部署名”内で、全てのプロジェクトをInstagantt上で管理できます。

この”My tasks on 部署名”と他に、主に動いているプロジェクト2つを連携させるようにすると良いでしょう。

連携が終わると、左メニューにプロジェクトが追加されます。
編集したいプロジェクトを選択します。

プロジェクトの右側にプロジェクトに作成されたtasksが現れるので、赤枠の中でガントチャートが作成しましょう。

このInstaganttが本当に便利で、進捗を一目で確認出来て、次にどのような作業をすれば良いのか把握しやすくなると思います。

プロジェクトマネジメントにお困りの方は、一度、Asana×Instaganttを使ってみてはいかがでしょうか。

MacのThunderbirdの通知をOFFにする

一つの作業を行う時は、集中し一気に終わらせてしまいたいです。
その為には、作業中のあらゆるノイズをシャットアウトしたいところです。

メーラーはThunderbirdを使用しているのですが、Thunderbird以外のアプリケーションを使用している時にメールを受信すると、画面の右上に通知のポップアップが出てきます。
この通知が出てくると集中が一時的に途切れます。ブラウザのタブの上に出てきてクリックしたいタブをクリックできなかったり、ましてや間違ってクリックしてしまったらThunderbirdが最前面に立ちがったりと煩わしい思いをします。

この機能は、Macの通知センターの機能です。
便利な機能ですが、デフォルトの設定では、不要な通知も含まれているので、この通知を設定したいと思います。
macOSは、High Sierra (10.13.2)です。

まず、環境設定を立ち上げます。

次に右上の「通知」をクリック。

左のアプリケーションの一覧からThunderbirdを選択して、「メールの通知スタイル」の「なし」を選択。

これで、Thunderbirdの受信の通知がOFFになりました。
Thunderbird以外のアプリケーションもこの通知センターで設定できます。
不要な通知はOFFにして、作業に集中できる環境を構築しましょう。