WordPress のメディア表示をアップロードしたユーザーのみに限定する

WordPress で、サイトによっては、自分のアップロードした画像しか利用させたくない場合などもありますよね。
そんなときでも、ちょこっとカスタマイズするだけで、メディアライブラリで表示されるものを制限できることができてしまいます。

“WordPress のメディア表示をアップロードしたユーザーのみに限定する” の続きを読む

カスタム投稿タイプのアーカイブ表示で、カスタム分類での絞り込み検索を行う

Webサイト上で絞り込み検索ができるようにしたい」というのは比較的よくある要望だと思います。そんな場合どうしてますか?カスタム投稿タイプだったら、アーカイブ表示の際に、少々工夫すれば絞り込みを行うことができてしまうのです。

WordPress では、パーマリンクの設定如何に関わらず、?cat=5 などといったパラメーターを追加すると絞り込みが可能となっています。(なので、カテゴリー内でのテキスト検索といったことも簡単に可能なんですよ?)
このため、フォームの method 属性を get にしておけば、比較的簡単に絞り込みができてしまうのですが、この場合、アドレス欄にパラメーターがずらずら並んでしまってクライアント受けが良くないのと、チェックボックスによる複数項目での検索に対応しづらいのが難点です。

これを post で投げて、アドレスはそのままで絞り込み検索、さらにはページ送りにも対応させてしまいましょう。

“カスタム投稿タイプのアーカイブ表示で、カスタム分類での絞り込み検索を行う” の続きを読む

カスタム投稿タイプの年別アーカイブ表示

function add_custom_rewrite_rules() {
	$rules = array(
		'top' => array(
			'^event/([0-9]{4})/page/([0-9]+)/?' => 'index.php?post_type=event&year=$matches[1]&paged=$matches[2]',
			'^event/([0-9]{4})/?' => 'index.php?post_type=event&year=$matches[1]',
		),
		'bottom' => array(
		)
	);
	foreach ( $rules as $position => $position_rules ) {
		foreach ( $position_rules as $rule => $rewrite ) {
			add_rewrite_rule($rule, $rewrite, $position );
		}
	}
}
add_action( 'init', 'add_custom_rewrite_rules' );

function get_post_type_archives_where( $where, $r ) {
	global $my_archives_post_type;
	if ( isset( $r['post_type'] ) ) {
		$my_archives_post_type = $r['post_type'];
		$where = str_replace( '\'post\'', '\'' . $r['post_type'] . '\'', $where );
	} else {
		$my_archives_post_type = false;
	}
	return $where;
}
add_filter( 'getarchives_where', 'get_post_type_archives_where', 10, 2 );


function get_post_type_archives_link( $link_html ) {
	global $my_archives_post_type;
	if ( $my_archives_post_type ) {
		$link_html = preg_replace( "#(/[0-9]{4})#", '/' . $my_archives_post_type . '$1', $link_html);
		$link_html = preg_replace( "#>([0-9]{4})</a>#", '>$1年</a>', $link_html);
	}
	return $link_html;
}
add_filter( 'get_archives_link', 'get_post_type_archives_link' );

【WordCamp Osakaリレーブログ企画】WordCamp Tokyo からの非公式挑戦状

こんにちわぷー!!
WordPress界のキアヌ・リーb…もとい、黄色いおじさんことまがりんです。
あれ?なんか、ちょっと前にも同じような事書いた気が?

WordCamp Osaka のリレーブログになぜ東京のお前が?と思われた方もいらっしゃるかもしれません。実は、ここで公式サイトでも公開されていない情報を大暴露!(ジャジャーン!!)なんと、私、1セッションを担当させていただくことになりました。(一応、告知OKの承諾は得ています。)タイトルは・・・おっと、それはタイムテーブルをお楽しみに。どうやら、今週中には公開予定らしいですよ。私の他にも、えっこの人が!?という方から、はたまたまたお前かいっwって毎度おなじみの方まで、全部見たくなるようなセッションが勢揃いしています。いやー、楽しみですな―。

ここまで言ってなにもナシなのも何なので、サブタイトルだけちょろっと公開すると、「コピペプログラマーからの脱出」です。今、これを見てドキッとした方は、是非どうぞw

さてさて、ちょい漏れ情報はこれくらいにして、リレーブログの最初を飾ったりえさんが

WordCampに初参加したのは2011年2月のWordCamp福岡。その後Camp神戸の実行委員をして、無事大成功に終わり、その時すぐ思ったのが「大阪でもWordCampを開催したい、もっと大阪でWordPressのことを知ってほしい」

と、おっしゃられています。

大阪以外にも名古屋での WordBeach や鹿児島での WordVolcano などにも象徴されるように、WordCamp やそれに準ずるイベントの開催が、地域を越えて WordPress ユーザーを引き寄せ、その熱気が別の地域への火種となり、さらに、WordBench 神戸や WordBench 大阪再始動など、その地域での WordPress 活性化につながっていっていると実感しています。

これは、非常に重要なことで、今回の WordCamp Osaka 2012 も、きっと次のどこかでの WordCamp 開催の起爆剤になったり、他の地域での勉強会につながったりしていくのでしょう。そんな面からも、今回の大阪開催には、期待し、応援しています。

ここで、先日行われた WordCamp Tokyo 2012 からの挑戦状!w
WordCamp Tokyo 2012 では、「WordPress の文化祭」をキャッチコピーに、ブース企画などを行い、展示者と参加者の交流という、一定の成果を得られたと自負しています。大阪では、どうやらお祭りがコンセプトらしいので、これをどう実現し具現化してくれるのか、良い意味で WordCamp Tokyo のスタッフからも、「あいつらやってくれたぜ」と言わせるようなコンテンツを生み出せるのか、WordCamp Tokyo のスタッフとして、一参加者として、楽しみにしています。

P.S. りえさんは、ブログのバナーを更新した方がいいと思うんだ。

link rel=’prev’ および link rel=’next’ を投稿だけで表示する

これでどや

function remove_adjacent_posts_rel_link_wp_head() {
	if ( ! is_single() ) {
		remove_filter( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
	}
}
add_action( 'wp_head', 'remove_adjacent_posts_rel_link_wp_head', 0 );