サポート » 使い方全般 » 固定ページ設定で投稿ページに指定したURLの取得方法

  • 解決済 shokun0803

    (@shokun0803)


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

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

    (@jim912)

    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 );
    }

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

    トピック投稿者 shokun0803

    (@shokun0803)

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

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「固定ページ設定で投稿ページに指定したURLの取得方法」には新たに返信することはできません。