WordPress カテゴリーアーカイブ

2010年10月28日(木曜日) 12時48分

WordPressで相互リンクが簡単に作成できるプラグイン「wordpress link directory」
ってのを見つけたので遊んでみました。
日本語化をしても登録時などに送信されるメールが文字化けしてしまったので
修正をしてみました。

wordpress link directory 日本語化

導入と日本語化の手順
1.WordPress Link Directoryから本体をDL
2.日本語化ファイルから日本語化に必要なファイルをDL
 参照:wordpress link directory v.1.8.2 日本語化
3.「1.」と「2.」でDLしたファイルを解凍
4.「2.」を解凍してできたフォルダ内の「link-directory.php」と「wplinkdir-ja.mo」を
 「1.」を解凍してできたフォルダへ上書き移動
※wplinkdir-ja.moファイルはlangフォルダへいれては駄目です。
 link-directory.phpと同じ場所に設置します。
5.サーバーのプラグインフォルダへアップロードし管理画面から有効にします。
これでwordpress link directory 日本語版が使えるようになります。

メールの文字化けを修正

wordpress link directoryの設定で自分と登録者にメールを送るって設定をONにすると
送信されてきた内容が文字化けした場合は下記を修正します。
mail関数に与える引数の文字コードをSJISに指定します。

link-directory.phpの下記を修正
■1287行目
修正前:

			mail($Email,$Subject,sprintf(__('This is just a quick message to let you know that your link has been approved at %1$s and is now live at our site.%2$s'."\n\n".'Link Name: %3$s'."\n".'Link URL: %4$s'."\n\nNote that your email is not available to the public and that this is an automated message, please do not reply to it.",$WPLD_Domain),$BlogName,$LinkOut,$_POST['title'],$_POST['url']));

修正後:

				mail($Email,mb_convert_encoding($Subject, "SJIS", "auto"),mb_convert_encoding(sprintf(__('This is just a quick message to let you know that your link has been approved at %1$s and is now live at our site.%2$s'."\n\n".'Link Name: %3$s'."\n".'Link URL: %4$s'."\n\nNote that your email is not available to the public and that this is an automated message, please do not reply to it.",$WPLD_Domain),$BlogName,$LinkOut,$_POST['title'],$_POST['url']), "SJIS", "auto"));

■1807行目
修正前:

			mail(get_option('admin_email'),$Subject,sprintf(__('This is just a quick message to let you know that someone has added a link to your link directory on %1$s (%2$s).'."\n\n".'Link Name: %3$s (PR %4$s)'."\n".'Site URL: %5$s'."\n\n".'You can edit or delete this link by logging into your admin section. You can turn off email updates by turning the Email Me option in the admin section.',$WPLD_Domain),$BlogName,$SiteURL,$title,$Rank,$url));

修正後:

				mail(get_option('admin_email'),mb_convert_encoding($Subject, "SJIS", "auto"),mb_convert_encoding(sprintf(__('This is just a quick message to let you know that someone has added a link to your link directory on %1$s (%2$s).'."\n\n".'Link Name: %3$s (PR %4$s)'."\n".'Site URL: %5$s'."\n\n".'You can edit or delete this link by logging into your admin section. You can turn off email updates by turning the Email Me option in the admin section.',$WPLD_Domain),$BlogName,$SiteURL,$title,$Rank,$url), "SJIS", "auto"));

これで送られてくるメールの文字化けが直ります。

2010年10月27日(水曜日) 16時25分

忘れないように変更したところのメモ

ヘッダー画像の高さを変更

functions.phpへ追記

add_filter('twentyten_header_image_height', 'twentyten_header_image_height');

function twentyten_header_image_height($height){
    return 250;
}

デフォルトの高さ198→250に変更されます。
250の部分を使用する画像の高さへ変更してください。
横幅を変更する場合は、height の部分を width に変更してください。

アーカイブの日付を○年○月へ変更

archive.phpの32行目~を修正します。
修正前:

<?php if ( is_day() ) : ?>
				<?php printf( __( 'Daily Archives: <span>%s</span>', 'twentyten' ), get_the_date() ); ?>
<?php elseif ( is_month() ) : ?>
				<?php printf( __( 'Monthly Archives: <span>%s</span>', 'twentyten' ), get_the_date('F Y') ); ?>
<?php elseif ( is_year() ) : ?>
				<?php printf( __( 'Yearly Archives: <span>%s</span>', 'twentyten' ), get_the_date('Y') ); ?>
<?php else : ?>
				<?php _e( 'Blog Archives', 'twentyten' ); ?>
<?php endif; ?>

修正後:

<?php if ( is_day() ) : ?>
				<?php printf( __( 'Daily Archives: <span>%s</span>', 'twentyten' ), get_the_date() ); ?>
<?php elseif ( is_month() ) : ?>
<?php
		if (ereg('^ja',$locale=get_locale())) {

			printf( __( 'Monthly Archives: <span>%s</span>', 'twentyten' ), get_the_date('Y年F'));
	}
		else {
			printf( __( 'Monthly Archives: <span>%s</span>', 'twentyten' ), get_the_date('F Y'));
	}
?>
<?php elseif ( is_year() ) : ?>
<?php
		if (ereg('^ja',$locale=get_locale())) {
			printf( __( 'Yearly Archives: <span>%s</span>', 'twentyten' ), get_the_date('Y年'));
	}
else {
			printf( __( 'Yearly Archives: <span>%s</span>', 'twentyten' ), get_the_date('Y'));
	}
?>
<?php endif; ?>

これで、「月別アーカイブ: ○年○月」表示になります。

ビジュアルリッチエディターにボタンを追加

背景色、コピー、切り取り、貼り付け、文字の大きさ、コード整形のボタンを追加
functions.phpへ追記

function ilc_mce_buttons($buttons){
  array_push($buttons, "backcolor", "copy", "cut", "paste", "fontsizeselect", "cleanup");
  return $buttons;
}
add_filter("mce_buttons", "ilc_mce_buttons");

デフォルトアバターミステリーマンの変更

functions.phpへ追記

function newgravatar ($avatar_defaults) {
	$myavatar = get_bloginfo('template_directory') .'/images/guest.jpg';
	$avatar_defaults[$myavatar] = "Guestsアバター";
	return $avatar_defaults;
	}
add_filter( 'avatar_defaults', 'newgravatar' );

デフォルトアバターの変更はダッシュボード→設定→ディスカッションでできます。
guest.jpgのサイズはTwenty Tenだと40*40推奨?
画像のUP先は/wp-content/themes/twentyten/images 以下へ。

メモ

作ろうと思ってるクロスバイクコミュでイベントカレンダーを使うときに・・・
予めこちらで用意したテンプレを突っ込みたかったのでニュアンスで頑張ってみたw

・新規投稿時だけテンプレを挿入
・ビジュアルとHTMLで挿入テンプレを変更(改行コードの違いがあるため)
って感じで作ってみました。

ただハマったのがIEの改行コードの取り扱い・・・。
.htmlで追加するとIEは改行コードを自動的に空白に変更するみたい。
#なんちゅーアホな動作なんだ・・・。
.textだと大丈夫そうなのでそっちで実装。

■jsファイルを準備

var $j = jQuery.noConflict();
if(0 < $j('body.post-new-php').length){
if(0 < $j('#edButtonHTML.active').length){
$j(function(){
$j('#content').text("テキスト2\n\rテキスト3");
});
} else {
$j(function(){
$j('#content').text("テキスト<br>テキスト1");
});
}
}

add_text-template.jsとかで保存

■使っているテーマのfunctions.phpに下記を記載

function add_text-template(){
  wp_enqueue_script('admin_head', get_bloginfo('template_url') . '/add_text-template.js', array('jquery'), false, true);
}
add_action('admin_print_scripts', 'add_text-template');

まぁ出来る人からしたら即出来るのでしょうが・・・
動けば神ってことで綺麗なコードあるならください(ぇw

自分用メモ記事です。

フォーラムを実装するのにbbPressが単一だと便利ですが・・・
+αで機能をつけないならちょっと使い勝手が悪いですね。
WordPressと管理画面が統合出来ないとか・・・。
#自分が理解出来てないだけかもだけど。

Simple:Pressってプラグインがあったので試してみました。
残念ながら日本語ファイルを配布しているところを探しきれませんでした。
でもsforum-ja.moがありますね。
最新版のVersion 4.3.4だと微妙に英語表示が残りますが十分かと。

ただうちは暇人だったので90%くらい日本語化したファイルを作ってみました(・_・)
まぁナンチャッテ和訳なので誤訳率高いですけどね(´д`)

Simple:Pressって意外とインスコが簡単だけど下準備が面倒なのでメモ。
1.ここから最新版をダウンロード
2.解答してファイルをプラグインフォルダにアップロード
languagesフォルダにsforum-ja.moを入れるとくと幸せかも
3.下記のフォルダの作成


/wp-content/plugins/simple-forum/styles(書き込み権限あり)
/wp-content/forum-avatars(書き込み権限あり)
/wp-content/forum-avatar-pool(書き込み権限あり)
/wp-content/forum-smileys(書き込み権限あり)
/wp-content/forum-badges(書き込み権限あり)
/wp-content/forum-image-uploads(書き込み権限あり)
/wp-content/forum-media-uploads(書き込み権限あり)
/wp-content/forum-file-uploads(書き込み権限あり)
/wp-content/plugins/simple-forum/styles/icons/default/custom/(書き込み権限あり)
/wp-content/forum-policies
/wp-content/plugins/simple-forum/forum/hooks
/wp-content/plugins/simple-forum/forum
/wp-content/plugins/simple-forum/library
/wp-content/plugins/simple-forum/help
※デフォルト設定なので変更は可能です。

4.以下のファイルのコピー
simple-forum/styles/avatars以下のファイル(3個)を/wp-content/forum-avatarsへコピー
5.管理画面からプラグインを有効にし、インストールを実行
エラーが出なければSimple:Pressのインストールは終了です。

あとはWPの管理画面にSimple:Pressの管理メニューが追加されるので設定すれば使用できるようになります。

WordPress 3.0.1で未来日付エントリーを表示する方法のメモ。

WordPressは、指定した日時以降でしかエントリーが表示されないようになってます。
ただイベント募集サイトなどを作るのにはネックになります。

そこでNo Future Postsってプラグインの出番です。
設定をする必要がないので簡単仕様になっています。

ただ、3.xで使うにはコアファイルの修正が必要になります。
wp-includes/general-template.phpの1181行目を修正します。

修正前:

$dayswithposts = $wpdb->get_results("SELECT DISTINCT DAYOFMONTH(post_date)
FROM $wpdb->posts WHERE MONTH(post_date) = '$thismonth'
AND YEAR(post_date) = '$thisyear'
AND post_type = 'post' AND post_status = 'publish'
AND post_date < '" . current_time('mysql') . '\'', ARRAY_N);

修正後:

$dayswithposts = $wpdb->get_results("SELECT DISTINCT DAYOFMONTH(post_date)
FROM $wpdb->posts WHERE MONTH(post_date) = '$thismonth'
AND YEAR(post_date) = '$thisyear'
AND post_type = 'post' AND post_status = 'publish' ", ARRAY_N);

これで全機能が使えるようになりますが、コアファイル修正しているので
アップデート時には注意が必要ですね。
テーマのfunctions.phpにadd_filterとかで追加できれば一番ええのでしょうけどね。

上記のプラグインとWordPressでイベントカレンダーを使えば
比較的自由度の高いイベントカレンダーがができるのかな?

まぁ問題は管理人にそのスキルとセンスが無いことだな(´д`)

2010年09月24日(金曜日) 16時17分

bbPressをインストールしたので自分用メモ

bbPressインストール

1.bbPressから最新版をダウンロード
 記事投稿時はVer.1.0.2が最新
2.日本語リソースからja.moとja.poをダウンロード
 Ver.1.0.1の日本語リソースを今回は利用
3.my-languagesフォルダを作成し、ja.moとja.poを移動
4.「1.」で落としたファイルを解凍し、my-languagesフォルダを移動
 ついでにmy-pluginsとmy-templatesを作って入れておくと幸せかも
5.鯖にアップロードし、フォルダを777とかに変更
6.ブラウザでアクセスしてインストール
終わり。

画像添付対応

プラグインのbbPress Attachmentsを使用すれば可能
これは少し面倒なプラグインです。

Webドキュメントルートは/home/hoge/public_htmlとします。

1.「my-plugins」へアップロード。
2.「管理」からプラグインを有効。
3.Webドキュメントルートのひとつ上の階層に
 画像ディレクトリ「bb-attachments」を作成
 例:/home/hoge/bb-attachments
4.書き込み可能にする
 chmod 777 bb-attachments
これで画像添付が可能になりますが面倒過ぎるのでファイルを編集します。

bb-attachments.php
68行目
$bb_attachments['path']=dirname($_SERVER['DOCUMENT_ROOT'])."/bb-attachments/"; // make *NOT* WEB ACCESSABLE for security

$bb_attachments['path']=rtrim(dirname(__FILE__),' /\\').'/bb-attachments/'; // make *NOT* WEB ACCESSABLE for security
にすればbb-attachments.phpと同じ場所に bb-attachments フォルダを作り、
プラグインをアップロード→フォルダの書き込み可能→管理画面からプラグインを
有効にすれば画像添付ができます。

クイックタグボタンを追加

何個かのタグが使えるらしいので入力を簡単にできるようにしてみました。
プラグインのComment Quicktags for bbPressを使用すれば可能

これも癖のあるプラグインです( ̄。 ̄;)

1.Comment Quicktags for bbPressからダウンロード
2.ファイルを解凍
3.ファイル(comment_QT_4_bbpress.phpとjs_quicktags.js)だけを
 「my-plugins」へアップロード
4.プラグインを有効にする

quicktags-4-bbpressフォルダのアップロードや「bb-plugins」フォルダへアップロードしても
プラグインは有効にできますが動作しませんので注意が必要です。

その他、有効にしたプラグイン

顔文字を追加:bbPress Smilies
携帯対応(簡易?):bbPress-Mobile

bb-Lightbox2はちゃんと動かなかったっぽいので解除

その他

情報が少なすぎて苦労してます~(;´Д`)
英語嫌いだ・・・。
ぼちぼち遊んでいきたいと思います。

2010年06月18日(金曜日) 06時33分




WordPress 3.0 英語版がリリースされたっぽいですね。

今回はβテストも参加してないのでしばらく様子見してプラグインとかが
問題なく動くようならアップデートしようと思います(。・ω・。)

3.0は楽しそうだけど機能的には2.x系で十分足りてるので
他の人柱さんの情報を待とうっと(・∀・)

ニコニコプレス Ver2.3 (夏)のトップページをポータルサイト風にカスタマイズする方法。
トップページをポータルサイト風にカスタマイズで基本的な流れは大丈夫だけど
一部変更が必要です。
変更箇所だけ記述します。

サムネイル付カテゴリーリストを配置

<h3>見出し</h3>
<ul class="entry_list clearfix">
<?php $posts = get_posts('numberposts=表示件数&category=カテゴリID');
foreach($posts as $post) :
setup_postdata($post); ?>
<?php $thumbnail = getThumbnail() ?>
<?php $title = the_title('','',0);
$titlenum = mb_strlen( $title , 'UTF8' ) ;
if($titlenum > 32){
$title = mb_substr( $title, 0, 32 , 'UTF8'). "…";
}
?>
<li class="image"><a href="<?php the_permalink(); ?>"><img src="<?php echo $thumbnail; ?>" alt="<?php the_title(); ?>" width="72" height="54" /></a></li>
<li class="date"><?php the_time(__('Y年m月d日')); ?> at <?php the_time('G時i分'); ?></li>
<li class="title clearfix"><a href="<?php the_permalink(); ?>"><?php echo $title ; ?></a></li>
<?php endforeach; ?>
</ul>

上記に入れ替え

floatで左右にボックスを配置

左にfloat

<div class="box_left cleafix">
左に回り込ませたい要素
</div>

class="box_left"からclass="box_left cleafix"に変更

右にfloat

<div class="box_right cleafix">
左に回り込ませたい要素
</div>

class="box_right"からclass="box_right cleafix"に変更

これでニコニコプレス Ver2.3 (夏)での表示も問題なくなるはず?(。・ω・。)