先日は、ヘッダー編のスニペットを書いたので今回は記事編です。
メイン部分で良く使ってるコードです。
画像ファイルのパス
[php] <?php echo get_stylesheet_directory_uri(); ?>[/php]
取得したい記事の設定
[php] 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;
[/php]
少し前までは、query_posts,get_postsで取得したい記事を取得してましたが、WordPress3.3のバージョンから『is_main_query』という関数が使えるようになったことでオリジナル検索条件で記事を取得する場合は、『is_main_query』を使って取得するってのが基本になっています。
Simple Colors さんのサイトに分かりやすく書いてくれています。
3.3の新しい関数 is_main_query を使おう
記事のループ処理
[php] <?php if(have_posts()): while(have_posts()): the_post(); ?><?php the_title(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
[/php]
アイキャッチ画像の取得
[php] <?php if(has_post_thumbnail()): ?><?php the_post_thumbnail(); ?>
<?php else: ?>
<img src="<?php get_stylesheet_directory_uri(); ?>/images/defalt.gif" alt="defalut image" />
<?php endif; ?>
[/php]
パンくずリストの出力(Plugin:Breadcrumb NavXTを使った場合)
[php] <?php if(function_exists(‘bcn_display’)){bcn_display();} ?>[/php]
記事出力部分のCoda2スニペットはこちらからダウンロードできます。
スニペットについて先日便利なPluginを水野さんから教えて頂きました。
以下の2つです。このプラグインを入れると管理画面でコピペできるコードを出力してくれるという便利なものです!ノンプログラマー向けの便利ツールとして良いプラグインだなぁと思いました。
http://wordpress.org/extend/plugins/php-snippets-for-theme-designer/screenshots/
http://wordpress.org/extend/plugins/custom-field-snippet/screenshots/
コメント