A Django site.
8月 27, 2007
» WordPress MU のインストールと設定

070826_0947.jpg

まずWordPressMUとは、複数のWordPressを設置・管理することができるホスティング向けのシステムです。WordPerss.comが代表的なものでしょう。個人的にはあまり必要がないと思いますが、とりあえず触ってみます。

インストールの仕方070826_1000.jpg

公式サイトWordPress MU (現在1.2.4)よりダウンロード・解凍して 設置予定のフォルダにアップロードします。そのフォルダとwp-contentのパーミッションを777にします。

※wp-config-sample.phpのリネームやデータベース設定はしないでください。
※wp-config-sample.php内のtable_prefixを「mu_」にしたほうがDB内でwordpressと区別がつきます。

ブラウザよりアップしたフォルダにアクセスするとインストール画面が表示されます。

ここでデータベースの設定を入力して、ブログURLをサブドメイン型にするか選択します。
(さくらインターネットを利用してるで http://domain.com/***/ を選びました。)

ブログ名、メールアドレスを入力して実行すると、データペースが構築されadminのパスワードが発行されます。

設置フォルダに .htaccessとwp-config.phpが、wp-contentにblogs.dirが生成されたのでパーミッションを705に戻しておきます。

後は管理画面->Usersよりadminのパスワードを変更しておきましょう。

メールアドレスにフィルタをかけ新規ブログ登録できるユーザを制限する場合は、管理画面->SIteAdmin->Optionの「Limited Email Registrations」や「Banned Email Domains」を設定しましょう。

日本語化

WPMUDEV.ORG - Localization よりWPMU Japanese language pack をダウンロード・解凍してwp-includeフォルダをそのままアップロードします。

wp-config.phpの ‘WPLANG’ を ‘ja‘ に変更します。

管理画面->Site Admin->OptionsのDefault Languageを「ja」に変更すると日本語化になります。

ブログURL構成

http://domain.com/***/型のURL構成を調べてみました。

管理者ブログ http://sample.com/
ユーザブログ http://sample.com/(test_blog1)/
ユーザブログ http://sample.com/(test_blog2)/
ユーザブログ http://sample.com/(test_blog3)/

管理者ブログ記事 http://sample.com/blog/(permlink)
管理者ブログpage http://sample.com/(slug)

  • 管理者ブログのpermlinkには必ず/blog/が挿入される。(次バージョンからは無くなりそう→ソース)
  • 管理者ブログのページslugと同し名前のユーザブログを生成した場合、管理者ブログのページが表示しユーザブログが表示出来なくなる。

プラグイン & テーマ

070826_0948.jpg初期設定ではプラグインの使用やテーマの選択が出来ない状態になっています。プラグインを利用可能にするには管理画面->SIteAdmin->Optionの一番下のPluginsのチェックボックスをonにします。onにするとユーザ各自がアップロードしてあるプラグインを自由にactive/deactiveにすることができます。また、テーマの利用は管理画面->SIteAdmin->Themeのテーマ一覧からアクティブにするテーマをyesにチェックを入れるとユーザ各自がテーマを選択することができます。

WordPressMUは通常のWordPressのようなプラグインと別にwu-pluginがありますが、wu-pluginはWordPressMU全体に有効なプラグインであり、プラグインをアップロードすると自動的にアクティブになります。

また、管理者ブログのデフォルトテーマは「default」ではなく「home」となっており home内のhome.phpにはブログ作成リンクや最近更新したブログリストなどの記述がされています。

その他気づいた亊

  • localhostにはインストールできないが、127.0.0.1でOK。
  • ユーザアップロードパスは wp-content/blogs.dir/(ブログID)/files となる。
  • ユーザはメールからの投稿やping送信先は設定できない。管理人が設定できるが、WordPressの「all options」見たいなものでオプション値が一覧になっているだけで設定しにくい。
  • ping送信先が管理人しか設定できないのであれば各ブログに対して登録するのではなく、一括登録できるようになってほしい。
  • 各ブログの検索ボックスはそのブログの記事検索のみで、訪問者からもブログ全体を検索できる検索ボックスがほしい。
  • WPの各プラグインがWPMUに対応しているか分からないから、まとめっぽいサイトがほしい。

関連リンク

Tags: , ,

関連記事:

8月 19, 2007
» WordPress「UltimateTagWarrior」のバグについて

WordPressのタグプラグイン「UltimateTagWarrior(Final)」を導入している方必見かも?
まず、下記のURLにアクセスしてみてください。

http://(sample.com)/?archive=tag

Warning: ultimate-tag-warrior-actions.php on line 475」となり、テーマファイル「tag_all.php」が見当たりませんけど・・・というエラーコードが出ませんか?

tag_all.phpというテーマファイルが無いのでエラーですよ!という訳です。

回避の仕方

tag_all.phpというテーマファイルなので全タグを表示するファイルだと思われるんですが、そんなことは「ページ」のオリジナルテンプレートで処理すれば良い訳で、「?archive=tag」の振り分け処理自体を削除します。

ultimate-tag-warrior-actions.php の 475行目あたりを削除(青部分を削除)

function ultimate_tag_templates() {
    if ($_GET["archive"] == "tag") {
        include(TEMPLATEPATH . '/tag_all.php');
        exit;
    } else if (get_query_var("tag") != "") {

これで修正完了です。

UTWとテーマファイルの関係

また、ついでにUTWタグアーカイブ表示時のテーマファイルですが、前回書いた「テーマファイル一覧」のように書くと下図のようになります。

index.php
 ┗ tag.php

ここでUTWタグアーカイブ表示時なのでtag.phpが無い場合はarchive.phpを読み込むようにします。

index.php
 ┗ archive.php 
      ┗ tag.php

修正箇所は先ほどのultimate-tag-warrior-actions.php の 475行目あたりに2行追加します。

function ultimate_tag_templates() {
    global $wp_query;
    if (get_query_var("tag") != "") {
       $wp_query->is_archive = true;

これで全部のアーカイブ表示はarchive.phpで処理できるようになりました。

Tags: , , ,

関連記事:

8月 18, 2007
» [WP:Plugin] 「SBM Popular Entry」をバージョンアップしました

WordPressプラグイン「SBM Popular Entry」をバージョンアップしました。

変更点

  • 管理画面の記事一覧に被ブックマーク数を表示
  • Yahoo!ブックマークを追加
  • <?= SBM_count_get() ?>で表示する被ブックマーク数をテンプレート化
  • カスタムフィールド「SBM_count」が複数生成されるのを修正
  • コードをいろいろと修正
  • プラグインのスペルを修正

管理画面の記事一覧
070818_1340.jpg

下図の表示をテンプレート化して簡単にカスタマイズできます。
カスタマイズはプラグインフォルダ内のtemplate_post.php内を自由に変更してください。070818_1343.jpg

※バージョンアップされる方は「wp-sbm_eopular_entry」のフォルダを削除してください。

※カスタムフィールド「SBM_count」が複数生成されている方はお手数ですけど記事投稿画面から削除してください。

Tags: , ,

関連記事:

8月 10, 2007
» WordPress テーマファイルのまとめ

以前書いた記事「WordpressのThemeを作ってみよう(ファイル編)」を元にもう少しテーマファイルについて調べてみました。

テーマファイルの振り分け所は「wp-include/theme.php」に記述されてます。

テーマファイル一覧

ファイルが無い場合は上位ファイルが呼び出されます。

┣ index.php
┃   ┣ home.php
┃   ┣ archive.php
┃   ┃   ┣ category.php
┃   ┃   ┃   ┗ category-(カテゴリID).php
┃   ┃   ┃
┃   ┃   ┣ tag.php               #WP2.3以降
┃   ┃   ┃   ┗ tag-(tag名).php  #WP2.3以降
┃   ┃   ┃
┃   ┃   ┣ date.php
┃   ┃   ┣ author.php
┃   ┃   ┗ paged.php  #archive.php表示時の2ページ目以降
┃   ┃
┃   ┣ search.php
┃   ┃   ┗ paged.php  #search.php表示時の2ページ目以降
┃   ┃
┃   ┣ single.php
┃   ┃   ┗ attachment.php
┃   ┃        ┗ (MIME types).php   #image.php, image_png.php, application_zip.php, audio.phpなど
┃   ┃
┃   ┣ page.php
┃   ┃   ┗ (template).php
┃   ┃
┃   ┗ 404.php
┃
┣ header.php        #get_header();で呼び出し
┣ footer.php         #get_footer();で呼び出し
┣ sidebar.php        #get_sidebar();で呼び出し
┣ comments.php      #comments_template();で呼び出し
┣ comments-popup.php  # headにcomments_popup_script(); loop内にcomments_popup_link();で呼び出し
┃                      無い場合はdefault/comments-popup.phpが呼び出される
┣ functions.php      #自動的に読み込まれる
┗ style.css          #スタイルシート

paged.php

「paged.php」はarchive.phpやsearch.phpが表示されている時のの2ページ目以降に呼び出されます。ただし、category.phpやdate.php,author.phpがある場合はそれが優先されます。

comments-popup.php

「comments-popup.php」は下記のurlにアクセスした時呼び出され、<head>内に<?php comments_popup_script(); ?>、記事loop内に<?php comments_popup_link(); ?>を記述するとコメントがある場合にリンクが埋め込まれます。またテンプレートファイルが無い場合はdefault/comments-popup.phpが呼び出されます。

index.php?comments_popup=(記事ID)

attachment.php

「attachment.php」は下記のurlにアクセスした時呼び出され、記事投稿時にアップローダーより「リンク先」を「ページ」にして記事に挿入で下記のリンクが埋め込まれます。

index.php?attachment_id=(添付ファイルID)

アップしたファイル形式によって、image.php, image_png.php, application_zip.php, audio.phpなどのテーマファイルにも振り分けできます。

(template).php

「(template).php」は 適当なファイルを作成してそのファイル内に下記のコメントを記述して「ページ記事」として利用することができます。呼び出し方はページ作成時に「ページテンプレート」を選択して呼び出します。

/*
Template Name: テンプレートファイル名
*/

functions.php

「functions.php」はそのテーマが読み込まれる時に自動で読み込まれ、そのテーマだけで使用するfuncitonなどを記述するファイルです。

Tags: ,

関連記事:

8月 8, 2007
» WordPress 管理画面に隠しページ?「All Options」

WordPressの管理画面に隠しページと思われるページが・・・

直接下記のurlを打ち込むと、WordPressの全オプションの値が表示され変更できるページが表示されます。

http://(www.yourdomain.com)/wp-admin/options.php

firefoxの「about:config」見たいなものかな。

070808_1415.jpg

Tags: ,

関連記事:

8月 6, 2007
» Yahoo!トピックスをfirefoxのサイドバーに表示

毎日のようにYahoo!Japanのトピックスを見ている私ですが、先日トピックスAPIが公開されたので何か作ってみようかと・・・

Yahoo!トピックスAPIを利用してfirefoxのサイドバーに表示するための「Y!トピックス」を作ってみました。
(firefoxのextensionじゃないよ。ただの細長いサイト)

070806_2310.jpg

Y!トピックス: http://labs.aoina.com/ytopics/

070806_2318.jpg

ブックマークに保存してプロパティから「サイドバーに読み込む」にcheckを入れればOK。

更新は10分以内はキャッシュ表示してます。

Tags: , , , ,

関連記事:

5月 10, 2007
» TinyMCEのボタンコントロールの設定と一覧

今までwordpressのエディタはビジュアルエディタではなく通常のエディタを利用していたのですが、
先日作ったwp-TinyMCE をいろいろカスタマイズしてたところ、もはやビジュアルエディタ使用者になってしまいました。

TinyMCEのオプションcontent_css(エディタ内のスタイル)を通常のスタイルと同じように設定して、
フルスクリーンモードにすると、エディタモードなのかプレビューなのかわからないくらいリッチなエディタに。

WordPressのリッチエディタにCSSを適用する | Tech de Goを参考に

ボタンコントロールの設定と一覧

theme_advanced_buttons1:"",            //ツールバー1段目の設定
theme_advanced_buttons1_add:"",        //ツールバー1段目に加える
theme_advanced_buttons1_add_before:"", //ツールバー1段目の前に加える
theme_advanced_disable:"",             //指定のボタンを使用不可にする
  • bold : 太字 (Ctrl+B)
  • italic : 斜体 (Ctrl+I)
  • underline : 下線 (Ctrl+U)
  • striketrough : 取り消し線
  • justifyleft : 左揃え
  • justifycenter : 中央揃え
  • justifyright : 右揃え
  • justifyfull: 両端揃え
  • style :スタイル(class)
  • format : フォーマット
  • fontfamily :フォント
  • wp_more : <!–more–>タグ (WP)
  • wp_page : <!–nextpage–>タグ (WP)
  • cut : 切り取り
  • copy : コピー
  • paste : 貼り付け
  • pastetext : 貼り付け(テキスト形式)
  • pasteword : 貼り付け(HTML形式)
  • search : 検索
  • replace :置き換え
  • bullist : 箇条書き<ul><li>
  • numlist : 段落番号<ol><li>
  • outdent : アウトデント
  • indent : インデント<blockquote>
  • undo : 元に戻す (Ctrl+Z)
  • redo : 繰り返し (Ctrl+Y)
  • link :リンクを挿入・編集
  • unlink :リンクを外す
  • anchor :アンカーリンク
  • image :イメージを挿入・編集
  • cleanup :コードを整える
  • chelp :ヘルプ
  • wp_help : ヘルプ(WP)
  • code :HTHLソースを表示する
  • insertdate : 日付の挿入
  • inserttime : 時間の挿入
  • forecolor : フォントカラー
  • backcolor : バックカラー

  • tablecontrols : テーブル(表)の挿入・編集
  • hr : <hr>水平線の挿入
  • removeformat :書式の削除
  • visualaid : 見えない要素の可視切り替え
  • sub : <sub>下付き
  • sup : <sup>上付き
  • charmap : 特殊文字を挿入
  • emotions : 顔キャラを挿入
  • rtl : dir=”rtl” 文字の方向(右→左)
  • ltr : dir=”ltr” 文字の方向(左→右)
  • preview : プレビュー
  • fullscreen : フルスクリーンモード
  • insertlayer : レイヤの挿入
  • moveforward :前面へ移動
  • movebackward :後面へ移動
  • absolute :絶対位置を指定
  • styleprops :スタイルを指定
  • cite :<cite> 引用・参照
  • abbr :<abbr> 略語
  • acronym :<acronym> 頭字語
  • del :<del> 後から削除された
  • ins :<ins> 後から挿入された
  • attribs :属性の編集
  • visualchars :制御文字の可視切り替え
  • nonbreaking : の挿入
  • zoom : ズーム(IE)
  • template :テンプレートの呼び出し

設定オプション

エディタの各部分の位置やサイズ

theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
theme_advanced_resizing : true,
theme_advanced_resize_horizontal : false,

その他オプション

//スタイルコントロールの設定
theme_advanced_styles : "class1=class1;class2=class2;",

//フォーマットコントロールの設定
theme_advanced_blockformats : "p,div,h1,h2,h3,h4,h5,h6,pre,blockquote,code",

//エディタ内のスタイルシート
//(wp-tinyMCEではthemes/(あなたのテーマ)/editor.cssがデフォルトとなっております)
content_css : "editor.css"

//日付や時間の挿入のフォーマット
plugin_insertdate_dateFormat : "%Y-%m-%d",
plugin_insertdate_timeFormat : "%H:%M:%S",

//エディタ内の自動的に改行
nowrap : false,

//出力するHTMLを自動に整形する <pre>内が勝手に整形された!
apply_source_formatting :false,

//*firefoxのみ Enterキーで改行した場合true:<p> false:<br /> falseにしたら文末のタグから出られない!
force_p_newlines : true,

よく使うリンク,イメージ,メディア等を登録

external_link_list_url :  "mylinklist.js",
external_image_list_url : "myimagelist.js",
media_external_list_url : "mymedialist.js",
template_external_list_url : "mytemplatelist.js",

– mylinklist.js –

var tinyMCELinkList = new Array(
	// Name, URL
	["Moxiecode", "http://www.moxiecode.com"],
	["Freshmeat", "http://www.freshmeat.com"],
	["Sourceforge", "http://www.sourceforge.com"]
);

– myimagelist.js –

var tinyMCEImageList = new Array(
	// Name, URL
	["Logo 1", "logo.jpg"],
	["Logo 2 Over", "logo_over.jpg"]
);

– mylinklist.js –

var tinyMCEMediaList = new Array(
	// Name, URL
	["Some Flash 1", "test1.swf"],
	["Some Flash 2", "test2.swf"]
);

– mytemplatelist.js –

var tinyMCETemplateList = [
	// Name, URL, Description
	["Simple snippet", "templates/snippet1.htm", "Simple HTML snippet."],
	["Layout", "templates/layout1.htm", "HTML Layout."]
];

今後wp-TinyMCEに、tinyMCEImageList や tinyMCELinkList を動的に生成していきたいかも

[参考]

Tags: , ,

関連記事:

5月 7, 2007
» wordpressのエディタ「TinyMCE」をカスタマイズするプラグイン

久しぶりの投稿ですが・・・

WordPressに搭載されるテキストエディタ「TinyMCE」の裏技が Rikaさんの記事「WP2.1 隠されたボタン! | Rif.2nd」で知って「おぉっ」と思ってたんですが、
そのテキストエディタTinyMCEのサイトを最近知りました。

そのサイトではいろいろとボタンのカスタマイズができるようなことが書いてあるのでwordpressにもできるかな?っと思ってソースを眺めていたらやはりhookできるようになっていました。

070507-2335.jpg

ということで早速プラグインを作ってみました。

インストール方法

  • wp-tinymceプラグインをダウンロードし解凍する
  • wp-includesを指定の場所にアップ
  • editor.css(ビジュアルエディタ用css)をあなたのスタイルに合わせて記述し、テーマフォルダにアップ
  • wp-tinymce.phpをプラグインフォルダにアップして有効化
  • 管理画面のオプションwp-tinymce内をいろいろと変更してみる

例えば
Example 04 - All buttons and pluginsのようにカスタマイズしたい場合は下記のように。

初期値は下記のようになっております。

theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",

theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",

theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",

theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking",theme_advanced_styles : "sample1=sample1;sample2=sample2;",

theme_advanced_blockformats : "p,address,pre,h1,h2,h3,h4,h5,h6",

「ImageManager」プラグインを利用している方は、好きなボタン位置に”ps_imagemanager_tinymceplugin”を記述してください。 (追記:2007-05-14)

リファレンスは「TinyMCEのボタンコントロールの設定と一覧 」にあるので見てください。

テーブル生成ボタンやフルスクリーンモードボタンがとても便利。てかこのサイトまだWP2.0.5だよ。

DOWNLOAD:wp-tinymce.zip var.0.2.1 (WP2.1以上)

参考

var.0.2以下を導入している方へ (追記:2007-06-03)

下記のようなエラーが出る場合があるようなので、修正をお願いします。

  • 修正はwp-includes/js/tinymce内を元の状態に戻す
    (wordpressのwp-includes/js/tinymce部分を上書きでOKです)
  • var.0.2.1以上をインストール

コードビューボタンがまったく利かなくなったことと、ビジュアルビューで色の設定などして公開ボタンを押しても、まったく反応しないようです。

更新履歴

  • 2007/06/03 var.0.2.1エラーの修正
  • 2007/05/10 var.0.2 pluginを自動読み込み,エディタスタイルシートをeditor.cssにデフォルト指定
  • 2007/05/08 var.0.1
Tags: , , ,

関連記事:

3月 16, 2007
» FeedBurnerの統計機能をRSSを介さずに利用するWPプラグイン

feedのURLを変更せずにFeedBurnerの統計機能を利用できるようです。

これはWordPressのようにRSSフィードがPHPで配信されていることが前提ですが、購読者にFeedBurnerのフィードを購読させることなくFeedBurnerの統計レポートを利用することができるそうです。

FeedBurnerのフィードを購読させずにFeedBurnerの統計機能を利用する裏技 - F.Ko-Jiの「一秒後は未来」 (2007-03-16)

PHPで書かれているのでwordpressでも利用できるかも知れないと思ってたんですが、やはりプラグインがありました。

従来のwordpressのfeedでFeedBurnerの統計機能が利用できるのです。

詳しくはここから
Weblog Tools Collection » Blog Archive » WP Plugin: Feedburner Feed Stats

インストールはいつものようにプラグインフォルダにアップしプラグインを有効にします。
管理画面のオプション「Feedburner Feed Stats」に
FeedBurnerで登録したfeedURLを入力するだけです。

設定が終わっても何も変わらないので時間が経ってから
Feedburnerの統計画面を覗いてみてリアルタイム集計が解析されていればOKです。

wordpress設置時からFeedburnerを利用している方は不要だと思いますが、これからFeedburnerを利用してみたい方は是非使ってみては?

Tags: , , ,

関連記事:

3月 15, 2007
» WordPressのコメントとトラックバックを分けて表示させる

コメントをいろいろと書いてくださって
ちょっと見にくくなったコメント欄なんですが、
やはりコメントとトラックバックを分けたほうが見やすいかと。

いろいろとプラグイン等があるようですが、ここは自力で何とかしてみました。

comment.phpの一部を下記のように変更。

PHP:
  1. &lt;?php
  2. #コメントとトラックバックを分ける
  3. if ($comments){
  4. foreach ($comments as $comment){
  5. if($comment-&gt;comment_type == "trackback"){
  6. $responses[trackback][] = $comment;
  7. } elseif($comment-&gt;comment_type == "pingback"){
  8. #$responses[pingback][] = $comment;
  9. $responses[trackback][] = $comment;
  10. } else {
  11. $responses[comment][] = $comment;
  12. }
  13. }
  14. unset($comments);
  15. $comments   = $responses[comment];
  16. $trackbacks = $responses[trackback];
  17. #$pingbacks = $responses[pingback];
  18. }
  19. ?&gt;
  20.  
  21. <!-- comment -->
  22. &lt;?php if ($comments) : ?&gt;
  23. <h3 id="comments">comments (&lt;?= count($comments) ?&gt;)</h3>
  24. <ol id="commentlist"> &lt;?php foreach ($comments as $comment) : ?&gt;
  25. <li id="comment-&lt;?php comment_ID() ?&gt;">&lt;?= comment_text() ?&gt;
  26. <p class="meta"> &lt;?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?&gt; by &lt;?php comment_author_link() ?&gt; |
  27. &lt;?php comment_date() ?&gt; &lt;?php comment_time() ?&gt;
  28. &lt;?php edit_comment_link(__("Edit This"), ' |'); ?&gt;</p></li>
  29. &lt;?php endforeach; ?&gt;</ol>
  30. &lt;?php endif; ?&gt;
  31. <!-- /comment -->
  32.  
  33. <!-- trackback &#038; pingback -->
  34. &lt;?php if ($trackbacks) : ?&gt;
  35. <h3 id="trackbacks">trackbacks &amp; pingbacks (&lt;?= count($trackbacks) ?&gt;)</h3>
  36. <ol id="trackbacklist"> &lt;?php foreach ($trackbacks as $comment) : ?&gt;
  37. <li id="comment-&lt;?php comment_ID() ?&gt;">&lt;?= comment_text() ?&gt;
  38. <p class="meta"> &lt;?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?&gt; by &lt;?php comment_author_link() ?&gt; |
  39. &lt;?php comment_date() ?&gt; &lt;?php comment_time() ?&gt;
  40. &lt;?php edit_comment_link(__("Edit This"<