面倒なカスタマイズ

Pocket

WordPressをのんびりと更新続けてます。色々不具合もあって、苦労している部分も。

テーマ

色々弄るのが面倒になってきたので、ブログデザインについては既存のテーマをちょっと弄る程度にとどめておこうかと思います。テーマは次期標準テーマ候補と言われているSandboxを採用し、スキンはShades of Grayにしてみた。Sandboxの方は、サイドバーのみ変更した段階。Shades of Grayは文字が小さかったので、font-size を100%に変更。最終的には、自分のわかりやすいように、CSSを書き換えたいけれど、とりあえずは今のままで良いかと思ってます。

タグ関連

Advanced Tag Entry がちゃんと動いてくれず、タグスラッグが重複するバグのせいで、記事投稿時にタグを挿入することができなかったのだけど、Yuriko.Net » WordPress で日本語タグ重複問題解決パッチ案 のとおりパッチを適用してみたら問題なくタグ付けできるようになりました。

[php]if ( ” === $term = sanitize_title($term) )
return 0;
$where = $wpdb->prepare( “t.slug = %s”, $term );[/php]

という部分を

[php]if ( ” === $sanitized = sanitize_title($term) )
return 0;
if ( $taxonomy = ‘post_tag’ ) {
$where = $wpdb->prepare( “(t.slug = %s OR t.name = %s)”, $sanitized , $term );
} else {
$where = $wpdb->prepare( “t.slug = %s”, $sanitized );
}[/php]

と書き換えるだけ。

でも、コアファイルの書き換えだとバージョンアップする際に面倒。本体側で早く対応してくれないかな。

Wp-MixiPublisher

WordPress 2.5 になって動かなくなった Wp-MixiPublisher ですが、すぐにパッチを公開してくれた方が。Wp-MixiPublisher 2007/12/18 変更対応版の wp-mixipublisherRC2c.php を以下のように書き換えです。

[php] function executePublishToMixi($postId, $isModify=false) {
if(in_array($postId, $this->_publishedId)) {
return $postId;
}
$settingVO = $this->getWpSetting();
if(!$settingVO->getParam(‘user_id’)) {
return $postId;
}

$post = get_post($postId);

// 公開しない場合は終了
if($post->post_status != ‘publish’) {
return $postId;
}

// 1.0.0 RC2: XML-RPCリクエストの場合ディフォルト設定を優先する
if(defined(‘XMLRPC_REQUEST’) && XMLRPC_REQUEST) {
// ディフォルト設定が有効でなければ終了
if($settingVO->getParam(‘default’) != 1) {
return $postId;
}
// すでにある投稿で、Mixiに投稿していなければ終了
if(!$postObj->mixi_diary_id && $isModify) {
return $postId;
}
}else{
if($_POST[‘publish_mixi’] != 1) {
return $postId;
}
}

// 1.0.0 RC2: リクエストに利用するクッキーを既存のものからではなく、新しく作成する
$user = wp_get_current_user();
$cookies = USER_COOKIE.’=’.urlencode($user->user_login).’; ‘;
$cookies.= PASS_COOKIE.’=’.md5($user->user_pass);

$relative_path = preg_replace(‘/^’.preg_quote(ABSPATH, ‘/’).’/’, ‘/’, __FILE__);

$ping_url = get_settings(‘siteurl’) . $relative_path;
$parts = parse_url($ping_url);
$argyle = @ fsockopen(
$parts[‘host’],
$_SERVER[‘SERVER_PORT’],
$errno,
$errstr,
0.01);

if ($argyle) {
fputs($argyle, “GET {$parts[‘path’]}?” .
“post_id=” . $postId .
” HTTP/1.0rnHost: {$parts[‘host’]}rnCookie: {$cookies}rnrn”);
}
$this->_publishedId[] = $postId;
return $postId;
}

function saveHandler($postId) {
return $this->executePublishToMixi($postId, true);
}

function publishHandler($postId) {
return $this->executePublishToMixi($postId);[/php]

という部分を、

[php] function executePublishToMixi($postId, $isModify=false) {
if(in_array($postId, $this->_publishedId)) {
return false; //falseを返すように修正
}
$settingVO = $this->getWpSetting();
if(!$settingVO->getParam(‘user_id’)) {
return false; //falseを返すように修正
}
$post = get_post($postId);
// 公開しない場合は終了
if($post->post_status != ‘publish’) {
return false; //falseを返すように修正
}
// 1.0.0 RC2: XML-RPCリクエストの場合ディフォルト設定を優先する
if(defined(‘XMLRPC_REQUEST’) && XMLRPC_REQUEST) {
// ディフォルト設定が有効でなければ終了
if($settingVO->getParam(‘default’) != 1) {
return false; //falseを返すように修正
}
// すでにある投稿で、Mixiに投稿していなければ終了
if(!$post->mixi_diary_id && $isModify) {
return false; //falseを返すように修正
}
}else{
if($_POST[‘publish_mixi’] != 1) {
return false; //falseを返すように修正
}
}
// 1.0.0 RC2: リクエストに利用するクッキーを既存のものからではなく、新しく作成する
$user = wp_get_current_user();
$cookies = USER_COOKIE.’=’.urlencode($user->user_login).’; ‘;
$cookies.= PASS_COOKIE.’=’.md5($user->user_pass);
$relative_path = preg_replace(‘/^’.preg_quote(ABSPATH, ‘/’).’/’, ‘/’, __FILE__);
$ping_url = get_settings(‘siteurl’) . $relative_path;
$parts = parse_url($ping_url);
$argyle = @ fsockopen(
$parts[‘host’],
$_SERVER[‘SERVER_PORT’],
$errno,
$errstr,
0.01);
if ($argyle) {
fputs($argyle, “GET {$parts[‘path’]}?” .
“post_id=” . $postId .
” HTTP/1.0rnHost: {$parts[‘host’]}rnCookie: {$cookies}rnrn”);
}
$this->_publishedId[] = $postId;
return $postId;
}
function saveHandler($postId) {
if ($postId = $this->executePublishToMixi($postId, true)) //$postIDが戻された時だけmixi記事を更新
$this->publishToMixi($postId);
}
function publishHandler($postId) {
if ($postId = $this->executePublishToMixi($postId)) //$postIDが戻された時だけmixiに記事を投稿
$this->publishToMixi($postId);
}[/php]

元々の作者が4月くらいからプラグインの更新もするようなことをブログに書いていて期待しているのだけど、表面上動いている様子は未だなし。個人的には画像へのリンクも含めたaタグの除去をなんとかして欲しいけれど。

WordPress 2.5.1

そうこうしているうちに、2.5.1がリリースされた。

丸ごと上書きでとりあえずバージョンアップ。

そんなこんなで、まだまだのんびり更新継続予定。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください