プラグインを使用しないでWordPressをより便利する10のチップス
Post on:2010年4月27日
WordPressにほんの数行記述するだけで、多くの便利な機能を付け加えるチップスをMegaMagから紹介します。
10 wordpress hacks & tricks that I like
1.コメントがついた記事をサムネイル付きで表示
サイドバーやフッタなどどこにでも、たくさんコメントがついた記事をサムネイル付きで表示します。
「http://an-alternative-image.jpg」はサムネイル画像が無い場合のデフォルトの画像を指定してください。
1 2 3 4 5 6 7 8 9 10 11 12 |
<textarea name="code" class="html" cols="60" rows="5"> <?php $popular = new WP_Query('orderby=comment_count&posts_per_page=5'); ?> <?php while ($popular->have_posts()) : $popular->the_post(); ?> <?php $justanimage = get_post_meta($post->ID, 'Image', true); if ($justanimage) { ?> <img src="<?php echo get_post_meta($post-/>ID, "Image", true); ?>" alt="<?php the_title(); ?>" /> <?php } else { ?> <img src="http://an-alternative-image.jpg" alt="" /> <?php } ?> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <?php endwhile; ?> </textarea> |
Source: Get most commented posts with thumbnails
2. ゴミ箱の設定
ゴミ箱はWordPress 2.9から登場した機能です。ゴミ箱にはデフォルトで30日間残るようになっています。これを任意の日数に変更します。
下記のコードを「wp-config.php」に記述します。
「7」が日数の設定です。
1 2 3 |
<textarea name="code" class="html" cols="60" rows="5"> define('EMPTY_TRASH_DAYS', 7 ); </textarea> |
Source: Configuring Trash
3. 記事の中にGoogle Adsenseを挿入
WordPressの記事などにGoogle Adsenseを任意の場所に挿入します。
下記のコードを使用しているテーマの「function.php」に加え、配置する記事にはショートコード([googlead] )を記述します。
1 2 3 4 5 6 7 |
<textarea name="code" class="html" cols="60" rows="5"> function googlead_shortcode() { $adsensecode = 'GOOGLE ADSENSE SHORCODE GOES HERE'; return $adsensecode; } add_shortcode('googlead', 'googlead_shortcode'); </textarea> |
Source: How To Wrap Google Adsense In WordPress Posts Correctly
4. イベントのリスト
日付順に配置されたイベントをリスト化します。
下記のサイトを参照ください。
Source: How To Make a WordPress Events List
5. パスワード保護や非公開のタイトルを変更
記事をパスワード保護や非公開にした際、タイトルにこれらの文字列が付与されるのを変更します。
下記のコードを使用しているテーマの「function.php」に加えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<textarea name="code" class="html" cols="60" rows="5"> function the_title_trim($title) { $title = attribute_escape($title); $findthese = array( '#Protected:#', '#Private:#' ); $replacewith = array( '', // What to replace "Protected:" with '' // What to replace "Private:" with ); $title = preg_replace($findthese, $replacewith, $title); return $title; } add_filter('the_title', 'the_title_trim'); </textarea> |
Source: Remove Private/Protected from Post Titles
6. Google map用のショートコード
WordPressの記事内のどこにでも、iframeを使用してGoogle mapを配置します。
下記のコードを使用しているテーマの「function.php」に加えます。
1 2 3 4 5 6 7 8 9 10 11 12 |
<textarea name="code" class="html" cols="60" rows="5"> //Google Maps Shortcode function fn_googleMaps($atts, $content = null) { extract(shortcode_atts(array( "width" => '640', "height" => '480', "src" => '' ), $atts)); return '<iframe width="'.$width.'" height="'.$height.'" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'.$src.'"></iframe>'; } add_shortcode("googlemap", "fn_googleMaps"); </textarea> |
記事内には下記のショートコードにwidthとheightとsrcを指定して記述します。
1 2 3 |
<textarea name="code" class="html" cols="60" rows="5"> [googlemap width="200" height="200" src="[url]"] </textarea> |
Source: Google Maps Shortcode
7. FeedburnercとTwitterの数を表示
FeedburnercとTwitterの数を任意の場所に表示します。
下記のコードを表示したい場所に記述します。
デモ
Feedburner
L.2の「YOUR FEED ADDRESS」は自分のFeedburnerのアドレスを記述してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<textarea name="code" class="html" cols="60" rows="5"> <?php $url = file_get_contents('https://feedburner.google.com/api/awareness/1.0/Get FeedData?uri=YOUR FEED ADDRESS'); $begin = 'circulation="'; $end = '"'; $page = $url; $parts = explode($begin,$page); $page = $parts[1]; $parts = explode($end,$page); $fbcount = $parts[0]; if($fbcount == '') { $fbcount = '0'; } echo '<b> '.$fbcount.' Subscribers'; ?> </textarea> |
L.2の「YOUR FEED ADDRESS」は自分のTwitterのユーザーネームを記述してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<textarea name="code" class="html" cols="60" rows="5"> <?php $twit = file_get_contents('http://twitter.com/users/show/USERNAME.xml'); $begin = '<followers_count>'; $end = ''; $page = $twit; $parts = explode($begin,$page); $page = $parts[1]; $parts = explode($end,$page); $tcount = $parts[0]; if($tcount == '') { $tcount = '0'; } echo '<b> '.$tcount.' </b> Followers'; ?> </textarea> |
Source: How To Display Your Feedburner Count And Twitter Followers Without Chicklets
8. 新規のビジターにRSSを表示
WordPressの標準機能「条件付きテンプレートタグ(is_paged())」を利用して、2ページ目以降にRSS Feedのリンクを表示します。
下記のコードを表示したい任意の場所に記述します。
1 2 3 4 5 6 7 |
<textarea name="code" class="html" cols="60" rows="5"> <?php if(is_paged()){ ?> <div id="rss-remind"> <p>Subscribe to <?php bloginfo('name'); ?> and never miss an entry:<br /><a href="<?php bloginfo('rss2_url'); ?>">All Posts<span> (RSS)</span></a> | <a href="<?php bloginfo('comments_rss2_url'); ?>">All Comments<span> (RSS)</span></a></p> </div><!-- #rss-remind --> <?php } ?> </textarea> |
Source: Increase RSS Subscribers With WordPress Conditional Tags
9. コメント数からトラックバックの数を除く
WordPressのデフォルトではコメントとトラックバックの数は合計して表示されます。これをトラックバックの数を除いて、コメントの数だけを表示します。
下記のコードを使用しているテーマの「function.php」に加えます。
1 2 3 4 5 6 7 8 9 10 11 12 |
<textarea name="code" class="html" cols="60" rows="5"> add_filter('get_comments_number', 'comment_count', 0); function comment_count( $count ) { if ( ! is_admin() ) { global $id; $comments_by_type = &separate_comments(get_comments('status=approve&post_id=' . $id)); return count($comments_by_type['comment']); } else { return $count; } } </textarea> |
10. 一つの記事のカラムを複数に分ける
一つの記事のカラムを二つもしくは複数に分けて表示します。
下記のコードを使用しているテーマの「function.php」の<?php … ?>ブロック内に加えます。
1 2 3 4 5 6 7 8 9 10 11 12 |
<textarea name="code" class="html" cols="60" rows="5"> // split content at the more tag and return an array function split_content() { global $more; $more = true; $content = preg_split('/<span id="more-\d+">< \/span>/i', get_the_content('more')); for($c = 0, $csize = count($content); $c < $csize; $c++) { $content[$c] = apply_filters('the_content', $content[$c]); } return $content; } </textarea> |
次に記事を表示するループタグ「the_content()」を使用しているPHPファイルを探します。通常はsingle.phpかpage.phpにあります。index.php, archive.php, search.phpに含まれていることもあるので注意してください。
「the_content ()」をみつけたら、それをコメントアウトし、「split_content()」を記述します。これは<!--more-->の後に、$content[0], $content[1], $content[2]と記事を複数に分けるものです。
1 2 3 4 5 6 7 8 9 10 11 12 |
<textarea name="code" class="html" cols="60" rows="5"> <?php // original content display // the_content('<p>Read the rest of this page »'); // split content into array $content = split_content(); // output first content sections in column1 echo '<div id="column1">', $content[0], '</div>'; // output remaining content sections in column2 echo '<div id="column2">', implode(array_shift($content)), '</div>'; ?> </textarea> |
Source: How to Split WordPress Content Into Two or More Columns
sponsors