Как получить post id из permalink (довольно url)?
Как получить post id из permalink (довольно url)?
6 ответов
вы должны быть в порядке с url_to_postid()
[документации] который находится в переписать.РНР. Я использовал его в плагине моего прошлого года, работает как шарм.
этой работает для обычных типов сообщений и пользовательских типов сообщений. url_to_postid() работает только для обычных сообщений.
у меня есть специальная (и документально) функция для этого:
get_page_by_path( $page_path, $output, $post_type );
получает страницу с заданным путем.
здесь $page_path
и
[...] эквивалент запроса 'pagename', как в: 'index.РНР?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');
url_to_postid()
по состоянию на 3.7.0
: эта функция теперь поддерживает пользовательские типы сообщений (см. Trac tickets #19744
, #25659
).
вы также можете попробовать это:
$post = get_page_by_path('cat',OBJECT,'animal');
cat-это тот, который вы ищете= permalink; animal-это пользовательский тип post,
пожалуйста, используйте
$postid = url_to_postid( $url );
заправшивать идентификатор вложения.
требуется, чтобы указанный url-адрес был в формате example.com/?attachment_id=N
и не будет работать с полным URL, чтобы получить идентификатор из полного URL.