関数 get_post_permalink()
2015/01/14
関数 get_post_permalink()
定義ファイル :/blog/wp-includes/link-template.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | function get_post_permalink( $id = 0, $leavename = false, $sample = false ) { global $wp_rewrite; $post = get_post($id); if ( is_wp_error( $post ) ) return $post; $post_link = $wp_rewrite->get_extra_permastruct($post->post_type); $slug = $post->post_name; $draft_or_pending = isset($post->post_status) && in_array( $post->post_status, array( 'draft', 'pending', 'auto-draft' ) ); $post_type = get_post_type_object($post->post_type); if ( !empty($post_link) && ( !$draft_or_pending || $sample ) ) { if ( ! $leavename ) { if ( $post_type->hierarchical ) $slug = get_page_uri($id); $post_link = str_replace("%$post->post_type%", $slug, $post_link); } $post_link = home_url( user_trailingslashit($post_link) ); } else { if ( $post_type->query_var && ( isset($post->post_status) && !$draft_or_pending ) ) $post_link = add_query_arg($post_type->query_var, $slug, ''); else $post_link = add_query_arg(array('post_type' => $post->post_type, 'p' => $post->ID), ''); $post_link = home_url($post_link); } return apply_filters( 'post_type_link', $post_link, $post, $leavename, $sample ); } |