45

パーマリンク(きれいなURL)から投稿IDを取得するには?

4

7 に答える 7

59

rewrite.php にあるurl_to_postid()[ドキュメントを参照] で問題ないはずです。昨年、私のプラグインで使用しましたが、魅力のように機能します。

于 2010-11-02T08:12:08.033 に答える
11

そのための専用の(および文書化された)関数があります:

get_page_by_path( $page_path, $output, $post_type );

パスを指定してページを取得します。

どこ$page_pathですか

[...] 「index.php?pagename=parent-page/sub-page」のような「pagename」クエリに相当します。

関数リファレンス/パスでページを取得を参照してください

例:

// Assume 'my_permalink' is a post.
// But all types are supported: post, page, attachment, custom post type, etc.
// See http://codex.wordpress.org/Post_Types
get_page_by_path('my_permalink', OBJECT, 'post');
于 2011-02-22T14:38:01.673 に答える
8

これは、通常の投稿タイプとカスタム投稿タイプで機能します。url_to_postid()は、通常の投稿に対してのみ機能します。

于 2012-02-23T23:11:04.540 に答える
2

url_to_postid()現在3.7.0: この関数はカスタム投稿タイプをサポートするようになりました (Trac チケット#19744、を参照#25659)。

于 2013-12-26T17:14:16.430 に答える
0

これも試すことができます:

$post = get_page_by_path('cat',OBJECT,'animal'); 

猫はあなたが探しているものです=パーマリンク; animal はカスタム投稿タイプです。

于 2013-12-26T17:33:56.387 に答える