差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
web:wordpress [2008/12/13] administratorweb:wordpress [不明な日付] (現在) – 外部編集 (不明な日付) 127.0.0.1
行 1: 行 1:
 +====== WordPressの改造 ======
 +
 +===== 個別記事のリンクをMovableTypeと同じにする =====
 +  - wp-includes/link-templete.phpの156行目<code php>
 +$date = explode(" ",date('Y m d H i s', $unixtime));
 +$rewritereplace =
 +array(
 + $date[0],
 + $date[1],
 + $date[2],
 + $date[3],
 + $date[4],
 + $date[5],
 + $post->post_name,
 + $post->ID,
 + $category,
 + $author,
 + $post->post_name,
 +);
 +</code>のなかの<code php>$post->ID,</code>を<code php>sprintf("%06d",$post->ID),</code>とする。
 +  - パーマリンクの設定
 +    * 「オプション」→「パーマリンク設定」
 +    * 「独自表記を以下の入力欄に記述」を選択し、
 +    * 「カスタム構造」に<code php>/archives/%post_id%.html</code>と入力する。
 +  - ゼロでパディングされた記事番号のリンクが生成されますが、ゼロのまま値を渡しても記事番号として認識します。
 +
 +===== MovableTypeからの移行 =====
 +記事番号も保持したまま移行するには
 +  - 書き出しに記事番号を付加する
 +    * mt2\lib\MT\App\CMS.pmの2986行目<code perl>AUTHOR: <$MTEntryAuthor$></code>の次の行に<code perl>POST_ID: <$MTEntryID$></code>を追加
 +  - MovableTypeの管理画面から記事の書き出しをする
 +  - WordPressで記事番号を受け取れるようにする
 +    * wp-admin\import-mt.phpの231行目<code php>switch($key) {
 + case '':
 + break;
 +</code>の次の行に<code php>
 + case 'POST_ID':
 +  $post_id = $value;
 +  break;</code>を追加
 +    * 295行目の<code php>
 + $post_id = $wpdb->get_var("SELECT ID ……
 +</code>をコメントアウト<code php>
 + // $post_id = $wpdb->get_var("SELECT ID ……</code>
 +  - import-mt.phpを実行してインポートする
 +
 +===== コメントの投稿者のURLからFaviconを取得→表示 =====
 +Favatarを組み込む。スタイルシートに以下を追加
 +<code css>img.favatar {width: 16px; height: 16px;}</code>
 +
 +===== 記事をインポートしたときにピンを受け付けない設定になっていたとき =====
 +一括してピンをオープンにするMySQLのコマンド
 +<code sql>update wp2_posts set ping_status='open'</code>
 +
 +===== RSSフィード =====
 +  * sidebar.php<code php>
 +<li><a href="<?php bloginfo('rss2_url'); ?>">RSS 2.0</a></li>
 +<li><a href="<?php bloginfo('atom_url'); ?>">Atom</a></li></code>
 +  * header.php<code php>
 +<link rel="alternate" type="application/rss+xml" title="RSS 2.0"
 +href="<?php bloginfo('rss2_url'); ?>" />
 +<link rel="alternate" type="application/atom+xml" title="Atom 0.3"
 +href="<?php bloginfo('atom_url'); ?>" /></code>
 +
 +===== サイト簡易表記の対応方法 =====
 +wp_includes/feed.phpの114行目<code php>
 +function get_the_title_rss() {
 + $title = get_the_title();
 + $title = apply_filters('the_title_rss', $title);
 + $title = "[H] ".$title;
 + return $title;
 +}</code>
 +
 +[[http://egt.tpot.tk/a/000798.html|サイト簡易表記の対応方法(WordPress)]]
 +
 +===== 月別アーカイブの表記を日本語に =====
 +wp_includes/template-function-general.phpの336行目
 +<code php>
 +if ( $show_post_count ) {
 +// $text = sprintf('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year);
 +$text = sprintf(__('%d年 %s'), $arcresult->year, $month[zeroise($arcresult->month,2)]);
 +$after = '&nbsp;('.$arcresult->posts.')' . $afterafter;
 +} else {
 +// $text = sprintf('%s %d', $month[zeroise($arcresult->month,2)], $arcresult->year);
 +$text = sprintf(__('%d年 %s'), $arcresult->year, $month[zeroise($arcresult->month,2)]);
 +}
 +</code>
 +
 +===== 個別記事のタイトルに「Blog Archive」という文字が入ってしまう =====
 +wp_content/themes/xxx/header.php
 +<code php><?php if ( is_single() ) { ?> &raquo; Blog Archive <?php } ?> 
 +</code>を削除する
 +
 +===== 月別アーカイブを折りたたみにする =====
 +wp_content/themes/xxx/sidebar.php
 +<code php>
 +<select onchange="nav(this)">
 +<option>月を選択</option>
 +<?php wp_get_archives('type=monthly&show_post_count=1&format=option'); ?>
 +</select>
 +
 +<script type="text/javascript" charset="utf-8">
 +function nav(sel) {
 +   if (sel.selectedIndex == -1) return;
 +   var opt = sel.options[sel.selectedIndex];
 +   if (opt && opt.value)
 +      location.href = opt.value;
 +}    
 +</script>
 +</code>
 +
 +===== xreaのデータベース文字化け対策 =====
 +
 +wp-include\wp-db.php
 +<code php>$this->dbh = @mysql_connect(…</code>
 +の後ろに
 +<code php>mysql_query("SET NAMES utf8", $this->dbh);</code>
 +を挿入
 +
 +===== プラグインの自動アップデート =====
 +セーフモードのFTPだと、プラグインの自動アップデートに失敗してしまいます。
 +
 +wp-config.phpに
 +<code php>define('WP_TEMP_DIR', '/virtual/xxx/tmp/');</code>