カスタム投稿タイプのパーマリンクを取得するにはどうすればよいですか?


15

特定の投稿タグまたはカテゴリのパーマリンクを取得できますが、カスタム投稿タイプのパーマリンクを取得するにはどうすればよいですか?これを行う方法については、コーデックスや他のどこにも見つけることができません。

回答:


21

どの程度href="<?php echo get_post_type_archive_link( $post_type ); ?>"、どこ$post_typeあなたのポストタイプがありますか?

さらに読む:コーデックス


5

ループ内では、単に使用できますthe_permalink()。ループの外側では、を使用できますget_permalink( $id )


特定の投稿またはページのパーマリンクを返します。投稿タイプのパーマリンクを返したい。たとえば、「映画レビュー」という投稿タイプがあり、その投稿タイプのパーマリンクが「www.website.com/movie-reviews」である場合、そのパーマリンクを取得するにはどうすればよいですか?技術的にはこれは本当のパーマリンクではないかもしれませんが、その投稿タイプのURLが欲しいだけです。
産業テーマ


1

この投稿は古いかもしれませんが、他の誰かがこれを行う機能を検索している場合に備えて、ここに私が書いたものがあります。$ post_typeは変数として渡す必要があります:)

if( !function_exists( 'wp_get_post_type_link' )  ){
    function wp_get_post_type_link( &$post_type ){

        global $wp_rewrite; 

        if ( ! $post_type_obj = get_post_type_object( $post_type ) )
            return false;

        if ( get_option( 'permalink_structure' ) && is_array( $post_type_obj->rewrite ) ) {

            $struct = $post_type_obj->rewrite['slug'] ;
            if ( $post_type_obj->rewrite['with_front'] )
                $struct = $wp_rewrite->front . $struct;
            else
                $struct = $wp_rewrite->root . $struct;

            $link = home_url( user_trailingslashit( $struct, 'post_type_archive' ) );       

        } else {
            $link = home_url( '?post_type=' . $post_type );
        }

        return apply_filters( 'the_permalink', $link );
    }
}

それが役に立てば幸い !:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.