WordPress 設定変更
WordPress でアーカイブをドロップダウンにするには、
[表示] – [ウィジェット] でアーカイブをクリックし、「 Display as a drop down 」のチェックをいれるだけ。
実は sidebar.php のソースを変更するんだと思い込み、[表示] – [テーマエディタ] からソースをいじってみたものの、変わる様子がない。「デバッグ!!!!」とか入れてみても表示されないのでさすがにおかしいと思い、調べていくうちに、どうやら if 文以降の部分が実行されていないことが分かった。ウィジェットでメニューをカスタマイズしていると、その条件分岐が偽になって実行されないらしい。つまり、 if 文の中身はまったく無駄なコードということになる。以下のソースを見れば、どれだけムダがあるか分かるだろう。
サイドバー変更前のソース
- <div id="menu">
- <ul>
- <?php /* Widgetized sidebar, if you have the plugin installed. */
- if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
- /* ここから */
- <li id="calendar"><h2><?php _e('Calendar'); ?></h2>
- <?php get_calendar(); ?>
- </li>
- <li id="search">
- <form method="get" id="searchform" action="<?php bloginfo('url'); ?>">
- <div>
- <input type="text" name="s" id="s" size="15" /> <input type="submit" value="<?php _e('Search'); ?>" />
- </div>
- </form>
- </li>
- <?php get_links_list(); ?>
- <li><h2><?php _e('Archives'); ?></h2>
- <ul>
- <?php wp_get_archives('type=monthly&show_post_count=true'); ?>
- </ul>
- </li>
- <li><h2><?php _e('Categories'); ?></h2>
- <ul>
- <?php list_cats(0, '', 'name', 'asc', '', 1, 0, 1, 1, 1, 1, 0,'','','','','') ?>
- </ul>
- </li>
- <li id="meta"><h2><?php _e('Meta'); ?></h2>
- <ul>
- <?php wp_register(); ?>
- <li><?php wp_loginout(); ?></li>
- <li><a href="<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>"><?php _e('<abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
- <li><a href="<?php bloginfo('comments_rss2_url'); ?>" title="<?php _e('The latest comments to all posts in RSS'); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
- <li><a href="http://validator.w3.org/check/referer" title="<?php _e('This page validates as XHTML 1.0 Transitional'); ?>"><?php _e('Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>'); ?></a></li>
- <li><a href="http://gmpg.org/xfn/"><abbr title="XHTML Friends Network">XFN</abbr></a></li>
- <li><?php echo sprintf(__('<a href="http://wordpress.org/" title="%s">WordPress</a>'), __("Powered by WordPress, state-of-the-art semantic personal publishing platform.")); ?></li>
- <?php wp_meta(); ?>
- </ul>
- </li>
- /* ここまで */
- <?php endif; ?>
- </ul>
- </div>
- <!-- end sidebar -->
無駄骨を折らされて頭にきたのでサイドバーのソースから無駄な部分を削りまくってやった。ざまみろ。
サイドバー修正後のソース
- <div id="menu"><ul>
- <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
- <?php endif; ?>
- </ul></div>
- <!-- end sidebar -->
若干処理が早くなって一石二鳥くらい。