2008-12-11
■[WordPress][WEB制作] ページ上に、タグで絞り込んだ最新記事のリストを複数表示する
カテゴリーをやめてタグだけにしてしまったのだけど、WordPress はいまだになんだかカテゴリーベースっぽい部分がある。タグで記事を絞り込んだりするのがちょっと不便かも。
でも SimpleTags プラグインを使うと結構便利。複数のタグで絞り込むのが簡単になる。タグによる除外も簡単にできればなおいいんだけど。
タグで絞り込んだ最新記事のリストを複数表示するには、ページのテンプレート内に以下のように書いてやればいい。
<?php $myposts = get_posts('tag=タグ1+タグ2&numberposts=5&orderby=post_date'); foreach($myposts as $post) : setup_postdata($post); ?> <li><a href="<?php the_permalink(); ?>" target="_blank" title="<?php the_title(); ?>"><?php the_title(); ?></a></li> <?php endforeach; ?>
詳しくは以下を参考に。
■[WordPress][プラグイン][WEB制作] Flexible Upload プラグインが動かなくなった
WordPress で動いている2つのブログのうち、一方で Flexible Upload がプラグインが動かなくなったみたい。
動いている方は WordPress 2.6.3 で、動かない方は WordPress 2.6.1 なので、ひとまずアップグレードしてみようか。
アップグレード後にプラグインを有効化して行く際に、Flexible Upload プラグインとコンフリクトしているプラグインがないかどうかも確認できるし。
2.6.5 にしたらエラーが出るようになった
画像アップロードの画面でこんなエラーが出る。
Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, ‘media_admin_css’ was given in /www/users/……./wp-includes/plugin.php on line 311
検索すると修正方法が見つかった。flexible-upload-wp25.php ファイルを少しいじるだけでいいみたい。
To solve the error, please refer: http://wordpress.org/support/topic/186579, and look at alexrabe's reply,
what should be done is to modify “flexible-upload-wp25.php” and find following content,
function fup_set_actions() {
remove_action('media_upload_image', 'media_upload_image');
add_action('media_upload_image', 'fup_media_upload_image');
add_action('admin_head_fup_media_upload_form', 'media_admin_css');
remove_filter('media_send_to_editor', 'image_media_send_to_editor');
add_filter('media_send_to_editor', 'fup_media_send_to_editor', 10, 3);
}
and add red font part
function fup_set_actions() {
remove_action('media_upload_image', 'media_upload_image');
add_action('media_upload_image', 'fup_media_upload_image');
// not longer needed for wp2.6
if ( !function_exists('wp_enqueue_style') )
add_action('admin_head_fup_media_upload_form', 'media_admin_css');
remove_filter('media_send_to_editor', 'image_media_send_to_editor');
add_filter('media_send_to_editor', 'fup_media_send_to_editor', 10, 3);
}
WordPress > Support > [Plugin: Flexible Upload V1.13
あと、同じファイルの fup_admin_header() 関数にも echo 以下の1行を追加する必要があるみたい。
function fup_admin_header() {
global $fup_rel_dir;
wp_enqueue_script('fup_swfupload',
'/'.$fup_rel_dir.'flexible-upload-wp25js.php',
array('prototype'), false);
echo '<link rel="stylesheet" href="'. get_option('home') .'/wp-admin/css/media.css?ver=20080709" type="text/css" />'. "\n";
}
僕の場合は、サブディレクトリにインストールしているので、上のコードではうまく動かない。get_option('siteurl') を使う必要があった。
echo '<link rel="stylesheet" href="'. get_option('siteurl') .'/wp-admin/css/media.css?ver=20080709" type="text/css" media="all" />'. "\n";
エラーの原因は日本語かも?
アップロードの際に Title 欄に日本語を含めるとアップロードが終わっても完了画面に遷移しないような感じ。英数のみでアップロードすればうまく行くようだ。
2008-12-03
■[WordPress][プラグイン][WEB制作] Simple Tags プラグインのクリックタグ表示をアルファベット順にしたい
Simple Tags プラグインにはクリックタグというタグ入力支援の機能があって、なかなか便利なんだけど、表示されるタグの候補がタグ ID の順に並んでいて、アルファベット順とかになっていないのでタグの選択漏れや、似たようなタグを複数つくってしまうというようなミスが起こりやすい。
ということで、これをきちんと並ぶようにしたい。時間ができたらやってみよう。
やってみた。
↓
コードの修正
/2.5/inc/simple-tags.admin.php ファイルの中の、ajaxSuggestLocal() と ajaxLocalTags() という2つの関数について、SQL 文に「ORDER BY name ASC」の1行を追加する必要がある。
<?php // Get all terms global $wpdb; $terms = $wpdb->get_col(" SELECT DISTINCT name FROM {$wpdb->terms} AS t INNER JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy = 'post_tag' ORDER BY name ASC ");//ORDER BY clause is ADDED BY minorio $terms = array_unique($terms); ?>
これで、表示されるタグの候補がタグ ID 順からアルファベット順になる。でも日本語が含まれる場合、ひらがなとカタカナ以外はあいうえお順にはならないけど。しかもひらがなとカタカナは a と b の間に並ぶみたい。
まあちょっとだけ使いやすくなったかな・・。
コードを改善した
SQL の時点で並べ替えてもいまいちだったので、array に対して並べ替えを実行するように変更してみた。これならきちんと アルファベット→ひらがな→カタカナ→漢字 の順番になる。これでいいでしょう。
<?php // Get all terms global $wpdb; $terms = $wpdb->get_col(" SELECT DISTINCT name FROM {$wpdb->terms} AS t INNER JOIN {$wpdb->term_taxonomy} AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy = 'post_tag' "); $terms = array_unique($terms); sort($terms, SORT_LOCALE_STRING);//ADDED BY minorio ?>
2008-12-01
■[WordPress][WEB制作] カテゴリーとタグの相互変換
カテゴリーとタグを併用しているのだけど、タグだけでいいような感じになってきたので、カテゴリーをタグに変換してしまうことにした。
「管理 > インポート > カテゴリーとタグの変換」から行う。
ただし、変換の際にすでに同名のタグがあるとうまく行かないことが多いので、きちんと変換できたかどうか確認してからカテゴリーを削除するようにしたい。
■[WordPress][プラグイン][WEB制作] 関連カテゴリーによる絞り込み機能をサイドバーウィジェットに表示するためのコード
Simple Tags プラグインには関連タグを表示する機能があり、これには関連タグによる絞り込みの機能も付いている。
せっかくなのでこれを活用してみよう。
絞り込みをわかりやすく表示したい
絞り込みの機能はなかなか便利そうだが、デフォルトの表示はちょっとわかりにくい。そこで少し手を加えることに。最終的に以下の画像のようなものが、タグアーカイブの表示時に限ってサイドバーに表示されるようにした。
以下のプラグインが必要。
- Simple Tags(もちろん)
- Exec-PHP
Simple Tags プラグインの設定画面で関連タグを表示するように設定したら、あとは下記のコードをテキストウィジェットに書き込めばオーケー。
<?php if(is_tag()) { echo str_replace("[s]", single_tag_title("", false), st_get_related_tags('xformat=<a href="%tag_link%" title="%tag_name%">%tag_name%</a>(<a href="%tag_link_add%" title="%tag_name%+[s]">+[s]</a>で絞り込み)')); } ?>
■[WordPress][プラグイン][WEB制作] Simple Tags プラグインのタグクラウドの前後に HTML タグを挿入する方法
Simple Tags プラグインを使ってタグクラウドを表示するメリットは、自動でグラデーションを付けられること、最低投稿数を設定できることなどいくつかあると思うけど、デザイン上、ul タグや li タグで囲みたいというような場合にはウィジェットをそのまま使ったのでは不都合なことがある。
というわけで、例によってテキストウィジェットと Exec-PHP プラグインを使って回避する方法。タグクラウドに関する設定は
Simple Tags プラグインの設定画面で行い、テキストウィジェットの方には以下のように書くだけ。min_usage=2 なども設定画面の方に書いてもいいと思う。
<ul><li> <?php echo st_get_tag_cloud('min_usage=2'); ?> </li></ul>
■[WordPress][プラグイン][WEB制作] Simple Tags プラグインのタグ絞り込みのバグ修正
タグによる絞り込み機能を導入して動作確認していたのだけど、タグのスラッグが日本語の場合にうまく機能していないような・・ということで、調べてみるとバグがあるようですね。
こちらで修正コードを公開してくれている方がいるので、利用させていただこうと思います。
Simple Tagsのバージョンは、1.5.7です。
バグの原因は、
* そもそもAND条件のSQLがない
でした。Wordpress本体のバグの方は、へたに直すとほかに影響がありそうなので、SimpleTagsの方を修正しました。
2.6で直るかもしれません(未検証)
Wordpressのプラグイン、Simple Tagsのタグ検索のバグを修正してみた | ねねとまつの小部屋
ただし、シングルクォート(')やダブルクォート(")がなんだか変な文字になってしまっているので、そのままコピーしても動きません。というわけで、下に修正済みのコードを添付します。
しかし、タグによる絞り込み機能まで使う人はあんまりいないかもな〜。
Google サイト内検索とか、慣れてるものの方に行く人が多いような気はする。
ただ、自分でまとめページをつくってそこからタグで絞り込んだ結果へと誘導するような活用法はありそう。
single_tag_title() で取得できるタグ名もオーバーライドしたい
絞り込みしているのに、ページのタイトルなどにそれが反映されないのはユーザービリティに関わると思う。
SimpleTag に single_tag_title() という関数を書き加えればいいかな?
■[WordPress][プラグイン][WEB制作] Simple Tags プラグインのタグ絞り込みを改造
結局、SimpleTag に st_single_tag_title() という関数を書き加えた。
/2.5/inc/simple-tags.functions.php に以下を追加。
<?php ここから /** * MODIFIED BY minorio * */ function st_single_tag_title($prefix = '', $display = true, $joint = '+') { global $simple_tags; $my_tag_name = $simple_tags->combined_tag_title($joint); if ( $display ) echo $prefix . $my_tag_name; else return $my_tag_name; } ここまで ?>
さらに、/2.5/simple-tags.client.php に以下を追加。
<?php ここから /** * MODIFIED BY minorio * */ function combined_tag_title($joint) { // Get currents slugs $slugs = get_query_var('tag'); if ( is_array($slugs) ) { $slugs_array = $slugs; } elseif ( strpos( $slugs, '+') ) { $slugs_array = explode('+', $slugs); } elseif ( strpos( $slugs, ' ') ) { $slugs_array = explode(' ', $slugs); }else { $slugs_array[] = urldecode($slugs); } $str = implode($joint, $slugs_array); return $str; } ここまで ?>
テキストウィジェットに以下のように書くと、その下の画像のようになる。
<?php if(is_tag()) { echo str_replace("[s]", st_single_tag_title("", false, "∩"), st_get_related_tags('xformat=<a href="%tag_link_add%" title="[s]∩%tag_name%">[s]∩%tag_name%</a>')); } ?>
さらに絞り込むと以下のようになる。
タイトルなどにも絞り込みを反映させる
アーカイブのタイトルなどにも整合性を持たせないとユーザーが混乱する。
絞り込みを反映して以下のようになればいい。
これにはテンプレートの修正が必要。テンプレート内の archive.php で、タグ名を出力するところを以下のように書きかえればいい。
<?php if(function_exists('st_single_tag_title')) { st_single_tag_title('', true, '∩'); } else {single_tag_title();} ?>
ページタイトルも直すには、header.php を修正する。こんな感じ。
<title><?php if ( is_single() ) { wp_title(); } elseif (is_category()) { single_cat_title(); } elseif (is_tag()) { if(function_exists('st_single_tag_title')) { st_single_tag_title('', true, '∩'); } else {single_tag_title();} } elseif (is_day()) { the_time('Y-m-d'); } elseif (is_month()) { the_time('Y 年 F'); } elseif (is_year()) { the_time('Y 年'); } elseif (is_author()) { ?>著者<?php } ?> | <?php bloginfo('name'); ?></title>
ページタイトルに関しては、All in One SEO プラグインを導入している場合は設定で「Tag Title Format:」のところを空欄にする必要がある。
空欄にした場合に書き換えを行わないようにするハックはこちらを参照のこと。
2008-11-27
■[WordPress][プラグイン][WEB制作] Collapsing Categories v.0.7 Issue
I tried this plugin together with Collapsing Archives plugin made by the same author.
Collapsing Archives plugin worked like a charm, but Collapsing Categories v.0.7 seems to have an issue explained bellow.
Parent / Child relations issue
The issue is that it sets every category as the child of another category, even when there is no hierarchy set. The top category changes depending on the sort order i.e. the first category becomes top in hierarchy and the second one becomes the child of the first one, and it repeats for all categories. Please see the example below.
In this example, I made no hierarchy among categories. All categories should have been flat. In addition, the Monthly Archive widget, using collapsing-archives plugin, is placed at the bottom of the hierarchy. The two plugins seem to be mixed up? Or just the issue on Collapsing Categories causes this.
The setting I used in the above example is this;
Plugin Download Page:
http://wordpress.org/extend/plugins/collapsing-categories
Plugin Author's Page:







遠隔ヴァイブ試してきたよーヽ( ・∀・)ノ
街中だってのにスイッチ入れる度にさっちゃんたら足ガクガクしちゃって・・・
見てて興奮しすぎて近くのビルのトイレでやっちゃったし(*´д`*)
ヴァイブ遊びってチョー楽しーよねー(´・∀・`)
http://IvEOy6f.meshiuma.tsukimisou.net/
試しにやってみたらノリノリでセっクスさせてくれたぉ(*゜∀゜)
途中から女の子2人ともテンション上がりすぎて体にローション塗りたくって2人で一生懸命ティムポと顔面にスリスリしまくってくれたわwwwww
これが毎週続くと考えるだけでピンコ勃ちが止まんねぇえwwwwww
http://27URwro.nyahoo.crackedpudding.com/
ビラビラの色って重要じゃね???
とりあえず女は簡単にゲット出来るんだけど、俺はビラビラの色に納得出来ないと絡みたくないんだよね(^^;
だから先に写メ送ってもらって確認してからセクースするのwwwwwwwww
おかげでいつもクン二するのが超楽しいし興奮マックスだわwwwwwwwww
http://XyEb1Lx.okane.torya-acha.com/
ドーユーリメンバー?私アルパカに似てるタケシねwwwwwww
んぉふーww 雑誌に載ってたのやってみたらコスプレ姫の魔法のフィラチオにハマっちゃって思考回路がフィラチオ中心になってるぉwwwwww
てか気持ちよくしてもらってんのに何で5万貰えんの? カオスwwwww
http://ritq0eR.netoge.bolar.net/
始めた途端に誘いの嵐だったからちょっとパニクったわwww
とりま玩具プ レ イ好きのビ ッ チを選んで楽勝で即 ハ メ〜(^-^)v
ハ メ て 5 万 貰 え るとかカルチャーショックだったけど、
これやらないやつはただのバカだろwwwwwwwww
http://ene.creampie2.net/SVEZNYf/
ヘイヘイ!!あひひひほはぁwwwwwww ちょwwいきなりごめwwwwww
寝てるだけで5 万もらっちゃって真面目な自分がヴァカらしくなってさwwwww
はぁーいま女シャワー浴びてんだけど、もう1ラウンドでまた5 万くれるってYO!wwwwww
またマグロでさっさと中 出 しするわwwwwwwwww
http://kachi.strowcrue.net/JYlVj9j/
自分の事「キャメロン」て呼んでる痛い女と会ったんだがお嬢すぎワロタwww
キャメロンにとっては1 万とか紙きれらしくて、
普通にセ ク ロ ヌするだけで2 0 万くれたしwwwwwwwww
マジキチwwwwwwww
まーそのおかげで俺が潤ってるんだからもっと狂って下さいwwwwwwwww
http://yuzo.plusnote.net/uxAxBWm/
3日お風呂入らずに来て!!って言われたから
我慢してその通りにしたんだが、行為を始めた途端に
チ ン カ スだらけの俺のテ ィ ン コを咥えてキレイにしてくれたわwwww
とりあえずされるがままでフィニッシュしたんだが、
ボーナス付けるとかイミフな事言われて8 万ゲットしたよ(^^;ラッキー♪
http://okane.d-viking.com/kI8Li5A/
もう動くのもマンドクセーから家に来てもらってんのよ。
オレはネトゲに必死で女はフ ェ ラに必死というカオス状態wwwwwww
なんでか毎回3 万貰えてるしイミフすぎwwww
これ始めた俺歓喜www 金無しニートのオマイら涙目wwwww
http://koro.chuebrarin.com/gWlGrYl/