フォーラム

[解決済み] 固定ページ設定で投稿ページに指定したURLの取得方法 (3 件の投稿)

  1. shokun0803
    メンバー
    5 ヶ月前の投稿 #

    設定で、固定ページにした場合のフロントページはget_bloginfo('url')などで取得できると思うのですが、投稿ページに指定したURLはどうやって取得すれば良いでしょうか?

  2. jim912
    メンバー
    5 ヶ月前の投稿 #

    shokun0803さん、こんにちは。

    投稿ページで指定したページのIDが

    get_option( 'page_for_posts' );

    で取得できます。このIDを引数にしてget_permalinkを使えば、投稿ページに指定したURLを取得できるのですが、フロントページの表示の選択の如何に関わらず設定値が返ってきますし、投稿ページの選択がなされていない状態では空やfalseが返ってきて、そのままget_permalinkにかけると、表示中のページのURLが返ってきてしまったりします。

    なので、

    if ( get_option( 'show_on_front' ) == 'page' && $page_for_posts = get_option( 'page_for_posts' ) ) {
    	$link = get_permalink( $page_for_posts );
    }

    と分岐処理を加えてあげれば、表示状態に則したリンクを得ることが出来ます。

  3. shokun0803
    メンバー
    5 ヶ月前の投稿 #

    ありがとうござます!検証ができました。
    機能として固定ページの設定があるわけですから、関数で用意されているものだと思っていました。見落としているのかそもそも関数がないのかの判断もできず、困っていた所です。
    自作テーマで使うだけですのでイレギュラーは考えていませんでしたが、細かい部分まで考えていただいてとても助かりました。

返信

ログイン しなければ投稿できません。

About this Topic