カテゴリー
WordPress

moreタグでURL末端に付く #more-xxxx を削除する

小樽雪あかりの路14に入ってきた  oki2a24 - Google Chrome 20120304 231001.jpg

WordPress の more-link にはURL の後ろに #more-xxxx がつきます。ええとつまり、ブログホームから記事にジャンプするためには、記事のタイトルをクリックするか、記事の「続きを読む →」をクリックしますけども、「続きを読む →」の場合はURL の後ろに #more-xxxx がつきます。ひとつの記事に対して二つのURL があるのは紛らわしいので #more-xxxx がつかないようにしたいと思います。

調べました。

  1. 方法が公式の「続きを読む」のカスタマイズ – WordPress Codex 日本語版に載っています。テーマのプログラム、function.php の何処か適当な場所にページに掲載のソースを追記します。
  2. もっと短く、美しく。more-link の #more-xxxx を削除する : dogmap.jpでは #more- があるかどうか判定する部分を一行で済ませています。preg_replace 関数の正規表現検索および置換を使っています。短いソース、素敵です。

今回は、公式の方法を採用します。

実際にやって見ます。

function.php を編集します。

vim /var/www/html/oki2a24.com/wp-content/themes/oki2a24/functions.php

ファイルの最後に次を追加します。

/**
 * moreタグでURL末端に付く #more-xxxx を削除します。
 */
function remove_more_jump_link($link) {
        $offset = strpos($link, '#more-');
        if ($offset) {
                $end = strpos($link, '"',$offset);
        }
        if ($end) {
                $link = substr_replace($link, '', $offset, $end-$offset);
        }
        return $link;
}
add_filter('the_content_more_link', 'remove_more_jump_link');

以上です。

 

コメントを残す