LoginSignup
1
2

More than 5 years have passed since last update.

WordPressのカスタム投稿タイプで管理画面に表示される公開画面のリンク先を変更する

Posted at

例えばカスタム投稿タイプで 求人情報や製品情報などを作るが、
詳細ページは利用せずに、アーカイブページのみや特定のページにループで表示させるだけの場合。

記事を入力して、管理画面から「投稿を表示」をクリックしても、表示されるのは詳細ページのURLになるので実際に見せたいページではないので、また何回かクリックして公開画面に遷移したりする必要があるが、下記のように書くと書き換えられる。

add_filter('post_type_link', 'my_custom_public_link',10,2);
function my_custom_public_link($permalink) {

    // 現在の投稿タイプを取得
    $post_type = get_post_type();

    // 書き換えたい投稿タイプを指定
    if ( $post_type == 'recruit' ){
        $permalink = '表示したいページのURL';
    }
    return $permalink;
}

アンカーリンクをつけたい場合

アンカーリンクをつけてその部分を表示させたい場合は

add_filter('post_type_link', 'my_custom_public_link',10,2);
function my_custom_public_link($permalink) {

    // 現在の投稿タイプを取得
    $post_type = get_post_type();

    // 書き換えたい投稿タイプを指定
    if ( $post_type == 'recruit' ){
        global $post;
        // 指定のURLにアンカーリンクも付けて返す
        $permalink = home_url('/').'★表示したいページまでの階層★/#'.'id-'.$post->ID;
    }
    return $permalink;
}

となる。

勿論公開画面側のテンプレートにも

id="id-<?php echo esc_attr( $post->ID );?>"

などの記述は必要

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2