• 解決済 Miw_Rosmarin

    (@miw_rosmarin)


    初めまして。
    ここだけではなくGoogleでも検索したのですが見当たらなかったので質問させて下さい。

    WordPressの<!–nextpage–>タグを挿入する事で分割した投稿記事についてです。
    分割した記事の何ページ目なのか分かる様にタイトルの末尾に番号表示をさせたいのです。

    投稿記事が長文になってしまった時、<!–nextpage–>タグを利用する事でひとつの記事を複数ページに分割しています。
    現在地が何ページ目なのか分かるようにする為に、
    記事の末尾に分割されたページが表示されるので、
    そのリンクの色を変えています。
    現在地の番号だけ色が違う為、辛うじて何ページ目か分かるのですが、
    これをトップに持ってくるにはごちゃごちゃして何となく嫌なのです。
    投稿記事のタイトルの末尾に分割の何ページ目かだけを自動で挿入したいのです。

    例えば6つに分割した記事の3ページ目を読んでいるとして、
    記事のタイトルの末尾に3ページ目である事を表示させたいのです。
    例)
    「あいうえお」が投稿記事のタイトルなら

    あいうえお No.3
    と言った風に現行ページのみの番号表示です。
    出来れば
    あいうえお No.3(全6ページ)
    と言う風に出来れば満足です。

    自力ではお手上げです。
    既出であれば申し訳ございません。
    どうかお助け下さい。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • V.J.Catkick

    (@vjcatkick-1)

    テーマのsingle.php等で:

    <?php .... the_title(); .... ?>

    の場所を

    <?php .... echo get_the_title(); echo $_GET['page']; ..... ?>

    とかやれば基本、「何ページ目」かは表現出来ます。後はページが分割されてない時とか適当に修飾すればよろしいかと思います。

    モデレーター jim912

    (@jim912)

    Miw_Rosmarinさん

    グローバル変数の $page と $numpages を表示するだけで◎

    トピック投稿者 Miw_Rosmarin

    (@miw_rosmarin)

    V.J.Catkick様、jim912様
    とても素早い回答をありがとうございました。
    おかげさまで解決できました!

    WordPress,全く初めてだったのにいきなり会社で任されてパニクりながらの練習中でした。
    助かりました。
    ありがとうございます。

    トピック投稿者 Miw_Rosmarin

    (@miw_rosmarin)

    解決したタグを書き忘れていました。

    <h2 class=”title title-single”>
    <?php if($_GET[‘page’]>=2) { ?>
    <?php echo get_the_title(); echo “ No.”; echo $_GET[‘page’]; echo “(全”; echo $numpages; echo “ページ)”; ?>
    <?php } else { ?>
    <?php echo get_the_title(); echo” No.1 (全”; echo $numpages; echo”ページ)”; ?>
    <?php } ?>
    </h2>

    始めたばかりでタグが下手くそかも知れませんが、何とか出来ました。
    もしもっとすっきりとしたタグがあれば是非、ご教授下さい。

    モデレーター jim912

    (@jim912)

    Miw_Rosmarinさん、V.J.Catkickさん

    $_GETはブラウザのアドレス欄に入力されたものなので、それをそのまま出力させることは、脆弱性につながります。

    http://www.example.com/?page=3<script type=text/javascript src=http://www.example.com/xss.js></script>

    例として上記のようなリンクがクリックされた場合、xss.jsをロードしてしまうことになります。

    仮に$_GETを利用する場合でも、esc_htmlなどでエスケープするか、正規化を行ってからにしましょう。

    1. $_GET[‘page’] を $page に差し替える
    2. 表示させる箇所は、echo esc_html( $page ); のようにesc_htmlでエスケープ処理を追加する

    以上2点で問題なくなりますので、直してもらえればと思います。

    トピック投稿者 Miw_Rosmarin

    (@miw_rosmarin)

    jim912様
    早速、echo esc_html( $page ); に書き換えました。
    ありがとうございました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「改ページした投稿のタイトルに何ページ目にいるかを表示させたい。」には新たに返信することはできません。