Blog

WordPressカスタマイズ 俺的チートシート

Posted by admin at 8:19 日時 2012/06/09

WordPressのテーマ開発でよく使うコードをCodaのクリップに登録していてすごく便利なので、いまクリップに入っているものを公開します。ここに挙げたもの以外に条件分岐タグも登録していますが、Codexを見ればいいので割愛。クリップに登録したコードと、Twenty Elevenからのコピペで基本的にはさくさくテーマ開発できています。

Customizing Parse Query (in functions.php)

functions.phpからクエリーのカスタマイズ、pre_get_postsフックを使う方法。
参考:関数リファレンス/is_main_query, カスタムクエリ via WordPress Codex 日本語版

/*   * Customizing Parse Query   */  add_action( 'pre_get_posts', 'my_custom_query' );    if ( ! function_exists( 'my_custom_query' ) ):  function my_custom_query($query) {  	if ( $query->is_main_query() && $query->is_archive() && !is_admin() ) {  		$query->set( 'post_type', 'my_post_type_name' );  		$query->set( 'posts_per_page', '-1' );  	}  }  endif; // my_custom_query

Debug Bar Trace Var

Debug Bar Extendar で値の確認をしたいとき。

dbgx_trace_var();

Echo Home URL

WordPressのサイトのURLの出力です。

<?php echo home_url( '/' ); ?>

Echo Nav Menu

カスタムメニューの出力、オプションの初期値は色々調整中。

$args = array( 'menu' => '', 'container' => 'div', 'container_class' => '', 'container_id' => '', 'menu_class' => 'menu', 'menu_id' => '', 'echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>', 'depth' => 0, 'walker' => '', 'theme_location' => '' );  wp_nav_menu( $args );

Echo Shortcode

ショートコードをテンプレート内で出力。

<?php echo do_shortcode('[]'); ?>

Echo Sidebar

if ( is_active_sidebar( 'sidebar' ) ) dynamic_sidebar( 'sidebar' );

Echo Stylesheet Directory

テーマのディレクトリのフルパスを出力

<?php echo get_stylesheet_directory_uri(); ?>/

Enqueue Script

主にfunctions.phpからテーマやプラグインで使うJavascriptの登録。

wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );

Escape Attribute Value

HTML要素の属性に何かを突っ込むときのエスケープ

<?php echo esc_attr(  ) ?>

Escape HTML Text

HTMLにテキストを出力するときのエスケープ

<?php esc_html(  ) ?>

Escape URL

URLのエスケープ

<?php esc_url( , 'http' ); ?>

Get Attachment Image Src

IDを指定して画像の取得。カスタムフィールドテンプレートプラグインでアップした画像の出力が主な用途。

<?php  $attachment_id = ; // attachment ID    $image_attributes = wp_get_attachment_image_src( $attachment_id, 'full' ); // returns an array  ?>    <img src="<?php echo $image_attributes[0]; ?>" width="<?php echo $image_attributes[1]; ?>" height="<?php echo $image_attributes[2]; ?>">

Get Category Link

カテゴリースラッグからアーカイブへのリンクURLを取得

$catObj = get_category_by_slug($category_slug);  $link = get_category_link( $catObj->term_id );

Get Post Meta

カスタムフィールドの値を取得

$postmeta = get_post_meta( get_the_ID(), 'postmeta_name', true );

Get Post Terms

投稿のタクソノミーを取得。横着してカテゴリーでもカスタムタクソノミーでもこれで取ってる

$terms = get_the_terms( get_the_ID(), 'term_name' );

Get Post Thumbnail

アイキャッチ画像の取得

$thumbnail = get_the_post_thumbnail( get_the_ID(), 'thumbnail' );

Get Post Type

投稿タイプ名の取得

$posttype = get_post_type();

Get Posts by term

カテゴリースラッグからget_postsで投稿を取得する方法だけど、get_postsを使うときはここからスタートすることが多い

$catObj = get_category_by_slug($category_slug);    $args = array(  	'posts_per_page' => 10,  	'category' => $catObj->term_id  );  $myposts = get_posts($args);  foreach ( $myposts as $post ) :  	setup_postdata( $post );    endforeach;    // Reset Post Data  wp_reset_postdata();

Get Template Part

テンプレートパーツの読み込み

get_template_part( $slug, $name );

ダウンロード

せっかくなのでダウンロードできるようにしておきました。Codaユーザーの方はもらってください。

» WordPress.clips (505)

余談ですが、いちいちコピペするはめになったので、.clips だけじゃなくCSVやXMLなどで書き出せるようにして欲しいなぁ…


Share this entry