サポート » 使い方全般 » wp_link_pageで該当ページのアンカー(id="hoge")へ移動したい

  • 解決済 katsuragi masami

    (@katsuragimasami)


    wp_link_page で該当ページのアンカー(id=”hoge”で指定した#hoge)に移動させたいのですが、codexのwp_link_pagesの項を読んでも、パラメータで #hoge を指定することはできないように読めました。みなさん、どうやっておられるのでしょうか?

    <?php
    $defaults = array(
    	'before'           => '<p>' . __( 'Pages:' ),
    	'after'            => '</p>',
    	'link_before'      => '',
    	'link_after'       => '',
    	'next_or_number'   => 'number',
    	'separator'        => ' ',
    	'nextpagelink'     => __( 'Next page' ),
    	'previouspagelink' => __( 'Previous page' ),
    	'pagelink'         => '%',
    	'echo'             => 1
    );
    wp_link_pages( $defaults );
    ?>

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター jim912

    (@jim912)

    wp_link_pages で指定できるパラメータで、ページ内リンクのハッシュを付けることはできません。

    やるとなると、wp_link_pages_link フィルターにフックし、正規表現で置換処理を行う必要があります。

    トピック投稿者 katsuragi masami

    (@katsuragimasami)

    jim912さん、ありがとうございます。やっぱり、wp_link_pagesではできないのですね。
    まだ具体的にどうするか分かっていませんが、wp_link_pages_link を試してみます。

    トピック投稿者 katsuragi masami

    (@katsuragimasami)

     お世話になっております。
     理解力不足につき、wp_link_pages_linkをうまく扱えなかったので、javaScriptでリンク先の末尾を書き換えることにしました。
     ありがとうございました。

    トピック投稿者 katsuragi masami

    (@katsuragimasami)

    wp_link_pages_linkでやる方法も知りたいので募集をかけました。

    よろしくお願いいたします。

    モデレーター jim912

    (@jim912)

    katsuragi masami さん、フォーラムの詳細ルールにて、有料サポートは禁止事項となっておりますので、申し訳ありませんがリンクの削除を行わせていただきました。
    執筆に集中したいというお考えやGPLに対するご理解も、すばらしいと思いますが、今後のフォーラムの運用も考えてご了承いただければと存じます。

    フォーラム詳細ルール

    F: 宣伝投稿および有料サポートの要求について

    このフォーラムでは宣伝投稿や有料サポートを要求する投稿を禁止しています。これらに該当するとみなされた投稿は削除させていただく場合があります。
    これは有料で提供されるサービス自体に反対しているわけではなく、このフォーラムはそういった用途に適していないと考えているためです。他の人から WordPress に関する助言をもらうことにお金がかかるという印象を与えたくありませんし、フォーラム内で入札・宣伝合戦が起こることも望ましくありません。
    上記における「宣伝投稿」の定義は、「有料サービス・製品の提供者自身による投稿で、サービス・製品の説明、購入方法、購入サイトへのリンクを含むもの」とします。

    なお、wp_link_pages_link での実現方法ですが、以下のコードをサンプルとしてください。
    フックの原理と正規表現への理解がポイントになります。

    function add_internal_hash_link_to_link_pages( $link ) {
    	$link = preg_replace( '/<a href="([^"]+)">/', '<a href="$1#hoge">', $link );
    	return $link;
    }
    add_filter( 'wp_link_pages_link', 'add_internal_hash_link_to_link_pages' );
5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「wp_link_pageで該当ページのアンカー(id="hoge")へ移動したい」には新たに返信することはできません。