wp.vicunaのcontinue reading…を”続きを読む”に変更して#extendedをなくす方法

スポンサーリンク

wp.vicunaのテンプレートを使っていると、投稿の際に「more」を入れると、「continue reading」という表示になります。英語だとわかりにくいので、日本語表記に変更したいのと、この「continue reading」をクリックすると、記事ファイルに「#extended」がついてしまって、ブックマークするにもURLも分散するので好ましくありません。

それを解消する方法を書いておきます。WordPressをアップグレードしたら最初にやること – Spherical-moss.netさんを参考にさせていただきました。ありがとうございます。

続きを読む、に表記変更する方法

wp.vicuna/index.phpというファイル内で、

<?php the_content(__(‘continue reading’, ‘vicuna’)); ?>

を検索

<?php the_content(__(‘…続きを読む‘, ‘vicuna’)); ?>

に変更。

  1. index.php
  2. single.php
  3. archives.php
  4. page.php
  5. category.php

の全てを修正しておきましょう。その際、保存の時に「UTF-8」で保存しておかないと文字化けするので注意。

#extendedをなくして記事ファイル名そのままにする方法

post-templete.phpをいじる方法、もあるらしいのですが、WordPressをアップグレードしたら最初にやること – Spherical-moss.netによると、ここはいじらずに、wp.vicuna内のfunction.phpをいじる方がよいらしいです。

wp.vicuna > function.php

$content = preg_replace(‘/\s*<p><span id=”more-([0-9]+?)”><\/span>(.*?)<\/p>/’, “\n\t\t\t</div>\n$indentText<div class=\”textBody\” id=\”extended\”>\n$indentText\t<p>\\2</p>”, $content);

$content = preg_replace(‘/\s*<span id=”more-([0-9]+?)”><\/span>(.*?)<\/p>/’, “\t</p>\n\t\t\t</div>\n$indentText<div class=\”textBody\” id=\”extended\”>\n$indentText\t<p>\\2</p>”, $content);

$content = preg_replace(‘/\s*<p><span id=”more-([0-9]+?)”><\/span>(.*?)<br\s*\/>/’, “\n\t\t\t</div>\n$indentText<div class=\”textBody\” id=\”extended\”>\n<p>$indentText\t<p>\\2</p>”, $content);

それぞれのid=\”extended\”を削除します。それから、

// Replace ‘<p><a>’ by ‘<p><a>’.
// (href=”hoge#more-**”を、href=”hoge#extended”に置換)

の部分の下に

$content = preg_replace(‘/<p(\s.+?=”.+?”>|>)\s?<a href=”(.+?)#more-([0-9]+?)”>(.+?)<\/a><\/p>/’, ‘<p><a href=”\2extended” title=”‘ . $entry_title . ‘ 全文を読む” rel=”nofollow”>\4</a></p>’, $content);

という部分があるので extended 部分を削除して

$content = preg_replace(‘/<p(\s.+?=”.+?”>|>)\s?<a href=”(.+?)#more-([0-9]+?)”>(.+?)<\/a><\/p>/’, ‘<p><a href=”\2” title=”‘ . $entry_title . ‘ 全文を読む” rel=”nofollow”>\4</a></p>’, $content);

にする。その下の

// <p>から始まらない場合の<a>を<p><a>に置き換える

の下にも

$content = preg_replace(‘/\s*<a href=”(.+?)#more-([0-9]+?)”>(.+?)<\/a><\/p>/’, “</p>\n\t\t\t\t”.'<p><a href=”\1extended” title=”‘ . $entry_title . ‘ 全文を読む” rel=”nofollow”>\3</a></p>’, $content);

があるので、そちらも同様に、以下のように修正。

$content = preg_replace(‘/\s*<a href=”(.+?)#more-([0-9]+?)”>(.+?)<\/a><\/p>/’, “</p>\n\t\t\t\t”.'<p><a href=”\1” title=”‘ . $entry_title . ‘ 全文を読む” rel=”nofollow”>\3</a></p>’, $content);

保存してアップロードすればオーケーです。

スポンサーリンク
NO IMAGE
この記事をお届けした
sorariumの最新ニュース情報を、
いいねしてチェックしよう!

シェアする

『wp.vicunaのcontinue reading…を”続きを読む”に変更して#extendedをなくす方法』へのコメント

  1. 名前:wordpress作業メモ3 - ぷちレビューdeブログ 投稿日:2009/08/10(月) 17:59:30 ID:887ef5f6e

    […] sorariumというブログさんの「 wp.vicunaのcontinue reading…を”続きを読む”に変更して#extendedをなくす方法」という記事を参考に、英語の部分を日本語に直し、#extendedをなくしました。 […]

  2. 名前:WordPress メモ - no subject 投稿日:2009/09/23(水) 17:00:25 ID:482039973

    […] wp.vicunaのcontinue reading…を”続きを読む”に変更して#extendedをなくす方法 […]

  3. 名前:wp.Vicuna Ext. で「全文読む」を「続きを読む」にする - [ヒ] ヒノステ 投稿日:2009/11/30(月) 12:18:29 ID:cdef03522

    […] wp.vicunaのcontinue reading…を”続きを読む”に変更して#extendedをなくす方法 – sorariumさんを参考にソースを調査しました。 […]

  4. […] wp.vicunaのcontinue reading…を”続きを読む”に変更して#extendedをなくす方法 – sorarium […]