どうでもいい雑記その372
- Category: その他雑記
ここの記事を参考にformatting.phpを改変。ようやくまともにins要素とdel要素が使えるようになったよ。insとdelがブロック要素として扱えない *1 とかどうなってんだよ、まったく。
エルミナージュはとりあえずスタッフロールを拝んだとこ。隠しダンジョンとかはまだなので、遊び倒すまでにはまだまだ時間がかかりそう。
- 勝手にpで括られる[↩]
ここの記事を参考にformatting.phpを改変。ようやくまともにins要素とdel要素が使えるようになったよ。insとdelがブロック要素として扱えない *1 とかどうなってんだよ、まったく。
エルミナージュはとりあえずスタッフロールを拝んだとこ。隠しダンジョンとかはまだなので、遊び倒すまでにはまだまだ時間がかかりそう。
上記のプラグインを使うのが一番手っ取り早い。
以下、以前にメモっておいたプラグインを使わずにどうにかする方法。2.9とかで動作するのかどうかは知らない。結構めんどい。修正が必要な記述だけを抜き出してるから、そのままfunctions.phpにコピペしても動かないので注意。
「wp-includes」ディレクトリ内の「general-template.php」に記述されているwp_get_archives関数をカスタマイズする。基本的にテーマ内に「functions.php」を作成し、その中にカスタマイズした関数 *1を記述する。関数名は仮に「wp_get_archives_custom」とする。
関数の引数である文字列にカテゴリID(term_id)である「mcat」を加える。
function wp_get_archives_custom($args = '') {
global $wpdb, $wp_locale;
$defaults = array(
'type' => 'monthly', 'limit' => '',
'format' => 'html', 'before' => '',
'after' => '', 'show_post_count' => false,
'mcat' => false //デフォルト値はなし
);
月別アーカイブリストを処理している部分を書き換える
if ( 'monthly' == $type ) {
if($mcat){ //$mcatが空でなければ
$taxID = $wpdb->get_var("SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE $wpdb->term_taxonomy.term_id = $mcat",0,0);//※1
$query = "SELECT DISTINCT YEAR(post_date) AS year, MONTH(post_date) AS month, count(ID) as posts FROM $wpdb->posts, $wpdb->term_relationships WHERE $wpdb->posts.ID = $wpdb->term_relationships.object_id AND $wpdb->term_relationships.term_taxonomy_id = $taxID AND $wpdb->posts.post_type = 'post' AND $wpdb->posts.post_status = 'publish' GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC" . $limit;//※2
} else { //$mcatが空であれば
$query = "SELECT DISTINCT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb->posts $join $where GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC $limit";
}
$key = md5($query);
$cache = wp_cache_get( 'wp_get_archives' , 'general');
if ( !isset( $cache[ $key ] ) ) {
$arcresults = $wpdb->get_results($query);
$cache[ $key ] = $arcresults;
wp_cache_add( 'wp_get_archives', $cache, 'general' );
} else {
$arcresults = $cache[ $key ];
}
if ( $arcresults ) {
$afterafter = $after;
foreach ( $arcresults as $arcresult ) {
$url = get_month_link($arcresult->year,$arcresult->month);
$text = sprintf(__('%1$s %2$d'), $wp_locale->get_month($arcresult->month), $arcresult->year);
if ( $show_post_count )
$after = ' ('.$arcresult->posts.')' . $afterafter;
echo get_archives_link_custom($url, $text, $format, $before, $after, $mcat); //※3
}
}
}
function get_archives_link_custom ($url, $text, $format = 'html', $before = '', $after = '', $mcat) {
$text = wptexturize($text);
$title_text = attribute_escape($text);
$url = clean_url($url);
if($mcat) { //$mcatが空でなければ
$url = $url."?mcat=".$mcat;
}
if ('link' == $format)
return "\t<link rel='archives' title='$title_text' href='$url' />\n";
elseif ('option' == $format)
return "\t<option value='$url'>$before $text $after</option>\n";
elseif ('html' == $format)
return "\t<li>$before<a href='$url' title='$title_text'>$text</a>$after</li>\n";
else // custom
return "\t$before<a href='$url' title='$title_text'>$text</a>$after\n";
}
オリジナルの関数に、引数$mcatに値が指定されていた場合は出力するURLにGET変数として$mcatの値を加える処理を追加。
関数の引数は「カテゴリID」と「取得したい値の種類( ‘name’ または ‘slug’ )」
function get_category_name_by_id($cat_ID,$type) {
$cat_ID = (int) $cat_ID;
$category = &get_category($cat_ID);
if($type == 'name'){
return $category->cat_name;
} elseif($type == 'slug') {
return $category->slug;
}
}
<?php query_posts($query_string . ""); ?>
記事等の呼び出しループが終了したあと上のように記述するとquery_stringを初期化することができる。
wp_reset_query()を使った方が簡単確実。
シンシロが届いたので通して聴いた。ていうか今日は無限ループさせる予定。
前作より聴きやすいというか、メジャーっぽいというか、一般受けしやすいというか、そんな感じ。「セントレイ」なんかが好例。まぁでも「minnanouta」みたいなインストの曲が入っていたりして、サカナクションらしいアルバムだとは思う。Twitterでも書いたけど個人的にはこのアルバム内の楽曲では「ネイティブダンサー」が最強。これだけループして御飯10杯はいけるよ *1 。
ファミ通のクロレビをケータイで見たけど、マイソロ2は8、8、8、8とえらく無難な点数に納まってたね。「登場キャラクターのデータベース的なものが欲しい」とか何とか書いてあったけど、個人的にはんなもん入れるくらいだったら一つでも多く装備品を増やしてくれた方が嬉しい。マイソロって「キャラゲー的側面を持ったダンジョン潜りキャラ育成ゲー」だと思うから。