2010年01月15日(金曜日) 15時01分 |
WordPress日本語版 フォーラムを見ていると面白いものがあったので適用してみました。
公開時間を現在日時に簡単に修正できるようになります。
リディストリビュ~ションは日に何度か記事編集をして編集完了時に公開日時を
編集日時に修正して公開しています。
手打ちで日時を指定するのが面倒でプラグインを作っていたのですが・・・
スキル不足でコアファイルの修正をしないといけなくてバージョンアップ時に
面倒だったので入れ替えました(゜-゜)
適用後、こんな感じになります。

新規投稿・投稿編集・新規ページ・ページ編集で現在の日時ボタンが表示されます。
押すと公開時間が押した日時になります。
続きを読む
jsファイルの作成
jQuery(document).ready( function($) {
if ( $('#submitdiv').length ) {
stamp = $('#timestamp').html();
$('#timestampdiv')
.before('<p><a class="update-timestamp hide-if-no-js button" href="#update_timestamp">現在の日時</a></p>')
.prev().click(function(){
date = new Date();
var aa = date.getFullYear(), mm = date.getMonth() + 1, jj = date.getDate(), hh = date.getHours(), mn = date.getMinutes();
mm = '' + mm;
if(mm.length == 1) mm = '0' + mm;
$('#aa').val(aa);
$('#mm').val(mm);
$('#jj').val(jj);
$('#hh').val(hh);
$('#mn').val(mn);
$('#timestamp').html(
postL10n.publishOnPast + ' <b>' +
aa + '年' +
mm + '月' +
jj + '日 @ ' +
hh + ':' +
mn + '</b> '
);
return false;
});
}
});
上記をファイル名:timestamp-set.jsで保存
functions.phpの編集
※テーマによってはfunctions.phpがない場合があるので新規作成してください。
・functions.phpがある場合
/* 投稿のタイムスタンプに「現在の日時」ボタンを表示 */
function my_scripts(){
wp_enqueue_script('my-admin-script', get_bloginfo('template_url') . '/js/timestamp-set.js', array('jquery'), false, true);
}
add_action('admin_print_scripts', 'my_scripts');
上記をfunctions.phpに追加
・functions.phpがない場合
<?php
/* 投稿のタイムスタンプに「現在の日時」ボタンを表示 */
function my_scripts(){
wp_enqueue_script('my-admin-script', get_bloginfo('template_url') . '/js/timestamp-set.js', array('jquery'), false, true);
}
add_action('admin_print_scripts', 'my_scripts');
?>
上記をファイル名:functions.phpで保存(UTF-8 BOM無し)
サーバーへファイルをアップロード
timestamp-set.jsを使用中テーマフォルダ内にjsフォルダを作成しアップロード
functions.phpを使用中テーマフォルダ内アップロード
ニコニコプレス(夏)場合は下記になります。
niconico_press_20\js\timestamp-set.js
niconico_press_20\functions.php
これでWordPressのバージョンアップ時にコアファイル編集がなくなりました。
まぁテーマ変更時に再度実施しないと駄目になりましたけどね≧(´▽`)≦アハハハ
続きを隠す
2010年01月13日(水曜日) 03時38分 |
こちらで書いたIE6ブロックの修正ですが、たぶん大丈夫になったので最新版を記事に・・・。
これでええや版はWindowsMobile携帯のT-01AとX02Tをスルーさせるようにしました。
※他はUserAgentが不明だったので未対応
T-01AとX02T搭載IEのUserAgent
・T-01A WindowsMobile 6.1 IE UserAgent
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; T-01A)"
・T-01A WindowsMobile 6.5 IE UserAgent
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; T-01A_6.5; Windows Phone 6.5)"
・X02T WindowsMobile 6.5 IE UserAgent
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Toshiba/X02T; Windows Phone 6.5)"
共通点ないっすねぇ・・・(苦笑)
jsファイルの修正
niconico_press_20\js\ie6_blocker\jquery.ie6blocker.jsになります。
jquery.ie6blocker.jsの上から3行を下記と入れ替え。
変更前(オリジナル)
var IE6 = (navigator.userAgent.indexOf("MSIE 6") >= 0) ? true : false;
if(IE6){
変更後
var IE6 = ((navigator.userAgent.indexOf("MSIE 6") >= 0)&&(navigator.userAgent.indexOf("Windows Phone") == -1)&&(navigator.userAgent.indexOf("T-01A")) == -1) ? true : false;
if(IE6 == true){
UserAgentに”MSIE 6″があり、かつUserAgentに”Windows Phone”か”T-01A”がない場合に
IE6ブロックが動作するようになります。
その他
FirefoxでT-01A WM6.1/T-01A WM6.5/X02TのUserAgentを設定し
アクセスして問題ないことを確認しています。
#テスト中にちゃんとブロックとかもされてたので大丈夫と信じたい(^-^;
手元のT-01A WindowsMobile 6.5 IEで確認しましたが問題なさそうです。
T-01AとX02T利用の方で実機でアクセスして見れない場合は
コメントを頂けると嬉しいです(^^♪
2010年01月12日(火曜日) 13時30分 |
変更したニコニコプレス(夏)ですが、少し変更を加えたので”φ(・ェ・o)~メモメモ
あまり改造はしてないです。
日時表記や部分的な表記を変える程度ですねぇ(ありがたいです。
あとはヒロカワズさんところのカスタマイズを何個かした程度ですね。
変更箇所っても2箇所くらいしかありませんが・・・。
続きを読む
コメント欄のバックにミク画像を表示
春のときにコメント欄のバックにミク画像が表示されてたのですが、
夏になったら無くなってました(´・ω・`)
CSSで指定してたので追記してみたのですがうまくいかなかったので
他力本願でヒロカワズさんに方法を教えていただきました< (_ _)>
完成イメージ:

niconico_press_20\style.cssの#comments textareaの箇所を下記に変更
#comments textarea {
background: #f9f9f9 url(images/comments_bg.png) no-repeat right top;
margin: 0px;
margin-top: 3px;
height: 200px;
width: 600px;
border: 2px dashed #ccc;
}
niconico_press_20\imagesにcomments_bg.pngをアップロード
これだけで変更が可能です(゜-゜)
IE6ブロックの定義変更
標準でIE6をブロックするJavaScriptが導入されていますが、判定方法が良くなかったので
修正しました。(個人的な使用条件での話です。)
実はT-01A(WindowsMobile)に搭載されているIEのUserAgentが下記になってます。
・T-01A WindowsMobile 6.1 IE UserAgent
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; T-01A)"
・T-01A WindowsMobile 6.5 IE UserAgent
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; T-01A_6.5; Windows Phone 6.5)"
・PC版 IE UserAgent(一例です。)
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
IE6ブロックのJavaScriptの判定箇所は下記です。
var IE6 = (navigator.userAgent.indexOf("MSIE 6") >= 0) ? true : false;
if(IE6){
UserAgentに”MSIE 6″が含まれる場合、処理を実行するってなってます。
上のIE UserAgentを見てもらえばわかるように全てに”MSIE 6″が含まれてます( ̄Д ̄;;
WindowsMobile携帯のIEでアクセスしようがPCのIE6でアクセスしようが
全てIE6ブロックが動作してしまいます。
WindowsMobile携帯のIEの場合はIE6ブロックを動作させないように変更しました。
これはT-01AのIEだけ有効です。
WindowsMobileのIE UserAgentってキャリア毎に違うんですよね・・・。
WindowsMobileのIE UserAgentにあってPC版IE UserAgentにないってのが
絞りきれませんでした(^-^;
※T-01Aしかつかってないので良しとします(ぁ
変更ファイルは・・・
niconico_press_20\js\ie6_blocker\jquery.ie6blocker.jsになります。
jquery.ie6blocker.jsの上から3行を下記と入れ替え。
var IE6 = ((navigator.userAgent.indexOf("MSIE 6") >= 0)&&(navigator.userAgent.indexOf("T-01A")) == -1) ? true : false;
if(IE6 == true){
UserAgentに”MSIE 6″があり、かつUserAgentに”T-01A”がない場合に
IE6ブロックが動作するようになります。
変更前のキャプチャー
IE6ブロックが動作 T-01A
IE6ブロックが動作 PC版IE6
変更後のキャプチャー
IE6ブロックが非動作 T-01A
でもPC版IE6は動作
う~ん。本当はPC版IE6だけブロックしてWindowsMobile版IEはスルーさせたいのですが、
ええ方法が思い浮かびません・・・。
下記だとPC版IE6の一部がスルーされる可能性が・・・
var IE6 = ((navigator.userAgent.indexOf("MSIE 6") >= 0)&&(navigator.userAgent.indexOf(".NET")) >= 0) ? true : false;
if(IE6 == true){
UserAgentに”MSIE 6″と”.NET”がある場合にIE6ブロックが動作するようになります。
ただし、IEのUserAgentで”.NET”が無いのがあるっぽいので抜けが出ます。
情報お待ちしておりますm(_ _)m
続きを隠す
2010年01月12日(火曜日) 03時32分 |
ニコニコプレス(夏)にテンプレを変更した時に新しいプラグインを導入したので・・・
“φ(・ェ・o)~メモメモ
■Commented entry list Ver.1.2
コメントとトラックバックをわけて表示するためのプラグイン
サイドバーにコメントとトラックバックを表示させてみました。
コメント・トラバが皆無なので寂しい状態に・・・やっぱ外そうかな(苦笑)
■Comment Form Quicktags Ver.1.2.1
コメント欄にクイックタグを追加できるプラグイン
オプション画面からクイックタグを追加・変更できるみたいですが、
WordPress 2.9.1だと編集画面がでませんでした( ̄Д ̄;;

うちだけの問題なのかな・・・?
まぁ追加する予定無かったのでそのまま使用中です(笑)
■Post-Plugin Library Ver.2.6.2.1/Similar Posts Ver.2.6.2.0
関連記事の表示をするプラグイン
Post-Plugin Libraryを有効後に、Similar Postsを有効にする
結構アホな感じがするプラグイン(笑)
学習とかあるのかは不明ですが、ある程度の精度で関連記事表示できないようであれば外す予定。
設定はヒロカワズさんとこに丸投げ(゜-゜)
ニコニコプレス(春)では導入しなかったので、戻すときは外すか設定しないと駄目だな・・・。
他にも面白そうなのがあれば追加したいと思います~(^^♪
2010年01月11日(月曜日) 21時52分 |
Blogテンプレートをニコニコプレス(夏)に
変更してみました。
個人的にはニコニコプレス(春)のほうがいいかなと思ったり(゜-゜)
コメント欄でどっちがいいか受け付けます(笑)
頑張って?最近のコメントやトラックバックの表示・関連記事の表示をさせてみました。

ニコニコプレス(夏)にしたら、プラグインのContent with show/hide javascript for “more”が動かなくなりました( ̄Д ̄;;
ニコニコプレス(春)だと動いてたのですけどねぇ・・・。
ヘッダを見比べてみたけど違いがわからず断念(´・ω・`)
情報お待ちしておりますm(__)m (他力本願だなぁ(笑)
2010年01月07日(木曜日) 17時00分 |
外部サイトのリディストリビュ~ションの更新情報をTopに表示(RSSより取得)させてましたが、WP2.9.xにアップデート後、投稿日時が何故か投稿を押した時間(公開時間で取れない)で取得されるようになったので、Atomフィードから取るように変更してみました。
RSSフィードの取得はこちら:外部サイトのRSSフィードを取得して表示させてみる。
続きを読む
殆どコードはいぢらないでいけるので楽です(゜-゜)
<div class="box_left">
<h3>リディストリビュ~ション更新履歴</h3>
<?php
include_once(ABSPATH . WPINC . '/rss.php');
date_default_timezone_set('Asia/Tokyo');
//フィードのURI
$rss_arr = array(
'http://www.redistribution.cc/feed/atom'
);
//表示件数
$num = 5;
foreach($rss_arr as $uri)
{
$rss = fetch_rss($uri);
$title = $rss->channel['title'];
$link = $rss->channel['link'];
foreach($rss->items as $item)
{
$item_title = $item['title'];
$item_link = $item['link'];
$item_date = $item['published'];
$out_item_date = date('Y年m月d日 H時i分', strtotime($item_date));
$thumbnail = get_bloginfo('template_directory')."/images/18r.gif";
$out_item = '
<ul class="entry_list">
<li class="image"><a href="' . $item_link . '" target="_blank"><img src="' . $thumbnail . '" title="' . $item_title . 'の記事を読む?" hspace="0" align="left" width="50" height="38" /></a></li>
<li class="date"><strong>' . $out_item_date . '</strong> 投稿</li>
<li class="title"><a href="' . $item_link . '" target="_blank">' . $item_title . '</a></li>
<dd style="font-size:77%;">
サイト:<a href="' . $link . '" title="' . $title . 'へいってみます?" target="_blank">' . $title . '</a>
</dd>
</ul>
';
$unix_time = date('U', strtotime($item_date));
$item_arr[$unix_time] = $out_item;
}
}
//ソート
krsort($item_arr);
//出力
for(reset($item_arr); $key = key($item_arr); next($item_arr))
{
echo $item_arr[$key];
++$count;
if($count === $num)
{
break;
}
}
?>
</div>
RSSからの変更点は・・・
フィードのURIをAtomに変更
$item_date = $item['pubdate'];のpubdateをpublishedに変更
だけで可能です。
ちなみにpublishedをupdatedにすると記事を更新した時間を取得できます。
published:記事を公開した日時
updated:記事を更新した日時(更新を押した時間になります。)
リディストリビュ~ションは1日に何度か更新するのですが、記事を公開した日時での表示にしてみました。
続きを隠す
2009年04月14日(火曜日) 18時09分 |
なぜこうなるかはWebを見ればいくらでも情報があるので放置(笑)
うちでした方法のみ書きます。
あ。ニコニコプレスはIE8での表示も問題ないです。
あれこれポップアップがIE8 Standardsモードで表示だとおかしいので簡易対策(笑)
本当はあれこれポップアップのCSSを見直せって事なんだろうけどねぇ・・・。
続きを読む
レンダリングモードの指定は、METAタグ > HTTPレスポンスヘッダ > DOCTYPE宣言
の順に優先度が高いのでMETAタグで対策をしました。
header.phpの<title></title>の下に記載。
または、headセクションの最初のエントリーとして記載(<head>の下に記載)
<meta http-equiv="X-UA-Compatible" content="IE=7" />
この1行だけでIE8はIE7 Standardsモードで表示させるようになります。
他にもIE=7の箇所を変更すればモードは変わります。
IE=5 ・・・ Quirksモードで表示(互換性モード)
IE=7 ・・・ IE7 Standardsモードで表示
IE=8 ・・・ IE8 Standardsモードで表示
IE=EmulateIE7 ・・・ DOCTYPE宣言に応じてIE7 StandardsモードまたはQuirksモードで表示
IE=EmulateIE8 ・・・ DOCTYPE宣言に応じてIE8 StandardsモードまたはQuirksモードで表示
IE=edge ・・・ 最新のレンダリングモードで表示
まぁIE=7かIE=5がお勧めですかね?
後はWebで下記を見つけました。
<?php
if(ereg("MSIE 8",$_SERVER['HTTP_USER_AGENT'])){
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<?php
}else{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
}
?>
IE8の場合だけ、DOCTYPE宣言を変えてQuirksモードを指定してるPHPです。
ただこれだとIE9とかになると変更しないと駄目なので微妙かも?

続きを隠す
2009年04月08日(水曜日) 21時14分 |
ニコニコプレス(春) v1.3が出た。で書いた通りテーマの新しいバージョンがでたので修正箇所をさっくり直して適用してみました。
日時表示の修正くらいしかしなくてよくなってました(笑)
search.phpと404.phpのいぢくりで書いた箇所がそのまま適用されてたのには驚きました(笑)
1点不満箇所があって(環境依存っぽい?)カテゴリー表示モードをRC2にしてVista+IE7で見たときに
一番最後のタブの端が欠けます。

XP+IE6だと問題なしっと・・・IE8は見てないので知りません。
う~ん・・・CSSとか苦手なので作者様が見ることを期待して修正箇所を教えてもらおう(ぁ
ってのは消費税分くらいの率で冗談だけど・・・風呂入ったら調査したりするかも?
そのうちIEでアクセスするとIE以外のブラウザを使ってアクセスしろと表示させて、
自動的に狐のDLサイトに飛ばすようにしてみようかな(笑)
2009年04月08日(水曜日) 20時04分 |
このBlogで使っているテーマのニコニコプレス(春)ですが新しいv1.3が出ました。
変更点は不具合修正と横並びのサムネイル付記事リストのサポートらしいです。
さてと・・・面倒だけど入れ替えしますか・・・。

2009年04月03日(金曜日) 23時22分 |
外部サイトになるリディストリビュ~ションのRSS情報をTOPに表示させてみた。
続きを読む
コードの参考はwp.maaguu.comさん?のWordPress MUのトップページに、RSSフィードを取得して各ブログの新着記事を日付順にソートして表示するをほとんどパクりました(笑)
元コード
<?php
include_once(ABSPATH . WPINC . '/rss.php');
//フィードのURI
$rss_arr = array(
'http://exsample.com/feed/',
'http://exsample.co.jp/feed/',
'http://wp.exsample.com/feed/'
);
//表示件数
$num = 10;
foreach($rss_arr as $uri)
{
$rss = fetch_rss($uri);
$title = $rss->channel['title'];
$link = $rss->channel['link'];
foreach($rss->items as $item)
{
$item_title = $item['title'];
$item_link = $item['link'];
$item_date = $item['pubdate'];
$out_item_date = date('Y年n月j日', strtotime($item_date));
$out_item = '<dt>
<a href="' . $item_link . '">' . $item_title . '</a>
</dt>
<dd style="font-size:77%;">
<a href="' . $link . '">' . $title . '</a>
</dd>
<dd style="font-size:77%;">' . $out_item_date . '</dd>';
$unix_time = date('U', strtotime($item_date));
$item_arr[$unix_time] = $out_item;
}
}
//ソート
krsort($item_arr);
//出力
echo '<h2>新着' . $num . '件</h2>';
echo '<dl>';
for(reset($item_arr); $key = key($item_arr); next($item_arr))
{
echo $item_arr[$key];
++$count;
if($count === $num)
{
break;
}
}
echo '</dl>';
?>
このコードの気に入ったところはRSSを複数指定できるのと、フォームの吐き出しをちゃんと考えてくれてるってとこですね。
ってことで主に吐き出しの部分をいぢくり。
うちのコードは・・・
<h3>リディストリビュ~ション更新履歴</h3>
<?php
include_once(ABSPATH . WPINC . '/rss.php');
//フィードのURI
$rss_arr = array(
'http://www.redistribution.cc/feed/'
);
//表示件数
$num = 5;
foreach($rss_arr as $uri)
{
$rss = fetch_rss($uri);
$title = $rss->channel['title'];
$link = $rss->channel['link'];
foreach($rss->items as $item)
{
$item_title = $item['title'];
$item_link = $item['link'];
$item_date = $item['pubdate'];
$out_item_date = date('Y年m月d日 H時i分', strtotime($item_date));
$thumbnail = get_bloginfo('template_directory')."/images/18r.gif";
$out_item = '
<ul class="entry_list">
<li class="image"><a href="' . $item_link . '" target="_blank"><img src="' . $thumbnail . '" title="' . $item_title . 'の記事を読む?" hspace="0" align="left" width="50" height="38" /></a></li>
<li class="date"><strong>' . $out_item_date . '</strong> 投稿</li>
<li class="title"><a href="' . $item_link . '" target="_blank">' . $item_title . '</a></li>
<dd style="font-size:77%;">
サイト:<a href="' . $link . '" title="' . $title . 'へいってみます?" target="_blank">' . $title . '</a>
</dd>
</ul>
';
$unix_time = date('U', strtotime($item_date));
$item_arr[$unix_time] = $out_item;
}
}
//ソート
krsort($item_arr);
//出力
for(reset($item_arr); $key = key($item_arr); next($item_arr))
{
echo $item_arr[$key];
++$count;
if($count === $num)
{
break;
}
}
?>
ってしましたっ!
ニコニコプレスの吐き出しにあわせてます。
あとは日時の吐き出しを日本語?にしたくらいですかね。
コード自体が自分が出したいと思う方法そのままだったのでほぼいぢくりしてません。
そのうち複数サイトの出力項目も追加してみようかなぁ~っと考えてます。

続きを隠す