WordPressにはたくさんの便利なプラグインがある。
昔のバージョンと違い管理画面内から手軽に追加することもできるようになった。
しかしテーマによってデザインがまとまらなかったり無駄なコードが増えてしまったり思うようにいかないこともある。
そこで、今日はなるべくプラグインを使わずにWordPressをカスタマイズする方法第1弾。
アイキャッチ
今や最初から実装されているテーマがほとんどだが管理画面内の一覧でも設定したアイキャッチが確認できれば、なお便利だ。
functions.php
まずはfunctions.php。
add_theme_support( 'post-thumbnails' );
これでとりあえずはアイキャッチが使えるようになる。
ループ内にコードを記述
if ( has_post_thumbnail() ) {
<?php the_post_thumbnail(); ?>
}
管理画面の一覧にも
/* 投稿とページ一覧にもアイキャッチをサムネイル表示 */
if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {
// for post and page
add_theme_support('post-thumbnails', array( 'post', 'page' ) );
function fb_AddThumbColumn($cols) {
$cols['thumbnail'] = __('Thumbnail');
return $cols;
}
function fb_AddThumbValue($column_name, $post_id) {
$width = (int) 35;
$height = (int) 35;
if ( 'thumbnail' == $column_name ) {
// thumbnail of WP 2.9
$thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );
// image from gallery
$attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );
if ($thumbnail_id)
$thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
elseif ($attachments) {
foreach ( $attachments as $attachment_id => $attachment ) {
$thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
}
}
if ( isset($thumb) && $thumb ) {
echo $thumb;
} else {
echo __('None');
}
}
}
// for posts
add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );
// for pages
add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
}
以上、最近お気に入りのカスタマイズでした。