programing

게시 제목에서 WordPress 게시 ID 가져오기

yellowcard 2023. 3. 31. 21:59
반응형

게시 제목에서 WordPress 게시 ID 가져오기

개발 중인 사용자 지정 WordPress 테마에 문제가 있습니다.조금 복잡하지만 기본적으로는 포스트 타이틀로 포스트 ID를 취득해야 합니다.의사 코드에서는 다음과 같은 것이 이상적입니다.

title = "foo";
post_id = get_post_id_where_title_is(title);

언급된 제목은 WordPress에서 가져올 수 없는 정적 참조입니다. 페이지에 이미 있습니다.

이 정보를 우연히 접한 모든 사용자를 위한 간단한 메모입니다.
get_page_by_private()는 모든 투고 유형을 처리할 수 있게 되었습니다.
$post_type파라미터가 WP 3.0에 추가되었습니다.

누군가 이것과 씨름하고 있다면 해결책을 찾았다.4시간 테스트/검색 후 자포자기해서 질문 올렸을 뿐!

function get_post_by_title($page_title, $output = OBJECT) {
    global $wpdb;
        $post = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type='post'", $page_title ));
        if ( $post )
            return get_post($post, $output);

    return null;
}

검색처: http://sudarmuthu.com/blog/2009/09/18/retrieving-posts-and-pages-based-on-title-in-wordpress.html

Michal Mau가 언급했듯이:

사용하다

$my_post = get_page_by_title( 'My Title', OBJECT, 'post' );
echo $my_post->post_content;

그건…( $page_title, $output, $post_type )페이지 대신 우편물을 쉽게 받을 수 있습니다.

코드를 반복할 필요가 없도록 함수를 생성함으로써 더 많은 도움이 될 수 있습니다.

function get_page_id_by_title($title)
{
$page = get_page_by_title($title);
return $page->ID;
}

$title = "your title";
get_page_id_by_title($title);

[ a link ] [ http://codex.wordpress.org/Function_Reference/get_page_by_title ]1에 따라 다음 코드를 사용할 수 있습니다!

<?php 
$page = get_page_by_title( 'About' );
wp_list_pages( 'exclude=' . $page->ID );
?>

투고와 페이지 ID를 얻는 또 다른 방법은 플러그인을 사용하는 것입니다.

플러그인은 단순히 모든 페이지, 모든 투고, 모든 카테고리 테이블에 열을 추가하고, 열 제목을 ID로 지정하면 바로 아래에 해당 열에 나열된 모든 페이지/포스트 ID가 표시됩니다.

아주 유용할 것 같은데..

이 플러그인은 자주 사용하는 플러그인으로 매우 가볍습니다.

http://getyourblogready.com/?p=758

SQL 쿼리 또는 플러그인을 사용할 필요가 없습니다. Wordpress 표준 함수를 사용합니다.

$page = get_page_by_title( 'Home' );
$page_id = $page->ID;

wp 쿼리를 사용하여 게시 제목에서 게시 ID를 쉽게 얻을 수 있습니다.

global $wpdb;

$rw = $wpdb->get_row( $wpdb->prepare("select * from "your post table name" where post_title='your variable name or your post title'"));

echo $rw->ID;

1) post_filename과 post_name은 서로 다릅니다.post_name은 slug일 수 있습니다.post_post는 게시물의 제목입니다.

2)

$titlee = "yourtitle";
echo $id = $wpdb->get_var("SELECT ID FROM $GLOBALS['wpdb']->posts WHERE post_name = $titlee");

언급URL : https://stackoverflow.com/questions/1536682/get-wordpress-post-id-from-post-title

반응형