WordPressの改造

提供: TeaPot
移動: 案内, 検索

目次

個別記事のリンクをMovableTypeと同じにする

wp-includes/link-templete.phpの148行目

$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,
);

のなかの

$post->ID,

sprintf("%06d",$post->ID),

とする。

パーマリンクの設定

  • 「オプション」→「パーマリンク設定」
  • 「独自表記を以下の入力欄に記述」を選択し、
  • 「カスタム構造」に
/archives/%post_id%.html

と入力する。

ゼロでパディングされた記事番号のリンクが生成されますが、ゼロのまま値を渡しても記事番号として認識します。

MovableTypeからの移行

記事番号も保持したまま移行するには

書き出しに記事番号を付加する

  • mt2\lib\MT\App\CMS.pmの2986行目
AUTHOR: <$MTEntryAuthor$>

の次の行に

POST_ID: <$MTEntryID$>

を追加

MovableTypeの管理画面から記事の書き出しをする

WordPressで記事番号を受け取れるようにする

wp-admin\import-mt.phpの231行目

switch($key) {
    case '':
        break;

の次の行に

    case 'POST_ID':
         $post_id = $value;
         break;

を追加

295行目の

    $post_id = $wpdb->get_var("SELECT ID ……

をコメントアウト

 //    $post_id = $wpdb->get_var("SELECT ID ……

import-mt.phpを実行してインポートする

コメントの投稿者のURLからFaviconを取得→表示

Favatarを組み込む。スタイルシートに以下を追加

img.favatar {width: 16px; height: 16px;}

記事をインポートしたときにピンを受け付けない設定になっていたとき

一括してピンをオープンにするMySQLのコマンド

UPDATE wp2_posts SET ping_status='open'

RSSフィード

sidebar.php

<li><a href="<?php bloginfo('rss2_url'); ?>">RSS 2.0</a></li>
<li><a href="<?php bloginfo('atom_url'); ?>">Atom</a></li>

header.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'); ?>" />

サイト簡易表記の対応方法

wp_includes/feed.phpの114行目

function get_the_title_rss() {
    $title = get_the_title();
    $title = apply_filters('the_title_rss', $title);
    $title = "[H] ".$title;
    return $title;
}

サイト簡易表記の対応方法(WordPress)

月別アーカイブの表記を日本語に

wp_includes/template-function-general.phpの336行目

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)]);
}

個別記事のタイトルに「Blog Archive」という文字が入ってしまう

wp_content/themes/xxx/header.php

<?php if ( is_single() ) { ?> &raquo; Blog Archive <?php } ?>
を削除する

月別アーカイブを折りたたみにする

wp_content/themes/xxx/sidebar.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>

xreaのデータベース文字化け対策

wp-include\wp-db.php

$this->dbh = @mysql_connect(

の後ろに

mysql_query("SET NAMES utf8", $this->dbh);

を挿入

プラグインの自動アップデート

セーフモードのFTPだと、プラグインの自動アップデートに失敗してしまいます。

wp-config.phpに

define('WP_TEMP_DIR', '/virtual/xxx/tmp/');
個人用ツール
名前空間

変種
操作
案内
情報
ツール