programing

투고 제목별로 WordPress 투고 가져오기

closeapi 2023. 4. 1. 09:19
반응형

투고 제목별로 WordPress 투고 가져오기

외부 웹사이트에서 WordPress 게시물을 표시하기 위해 이 코드를 사용합니다.

<?php
    require('wp_blog/wp-blog-header.php');
    
    if($_GET["p"] > '') { ?>
    
    <?php query_posts('p='.$_GET["p"].''); ?>
    <?php while (have_posts()) : the_post(); ?>
        <h4><?php the_title(); ?></h4>
        <?php the_content(); ?>
    <?php endwhile; ?>
    <?php } else { ?>
    
    <?php
    $posts = get_posts('numberposts=10&order=ASC&orderby=post_title');
    foreach ($posts as $post) : setup_postdata( $post ); ?>
        <?php the_date(); echo "<br />"; ?>
        <?php the_title(); ?>    
        <?php the_excerpt(); ?> 
    <?php endforeach; ?>
    
    <?php } ?>

아이디로 투고를 선택하는 것이 아니라, 투고 제목으로 투고를 선택하게 하려면 어떻게 해야 하나요?

사용할 수 있습니다.get_page_by_title()제목으로 투고를 취득합니다.다음과 같이 합니다.

$page = get_page_by_title('About', OBJECT, 'post');
echo $page->ID

자세한 내용은 이쪽입니다.

또는 다음과 같은 커스텀쿼리:

$posttitle = 'About';
$postid = $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE post_title = '" . $posttitle . "'" );
echo $postid;

이거 먹어봐

$post_title = 'Contact';
$post_id = get_page_by_title($post_title, OBJECT, 'your_post_type_name');
echo $post_id->ID; // your id

다음과 같은 기능 추가

function get_page_by_post_name($post_name, $output = OBJECT, $post_type = 'post' ){
    global $wpdb;
    $page = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type= %s", $post_name, $post_type ) );

    if ( $page ) return get_post( $page, $output );

    return null;
}

 add_action('init','get_page_by_post_name');

그리고 이렇게 달려라:

 $page = get_page_by_post_name('hello-world', OBJECT, 'post');
 echo $page->ID; 

언급URL : https://stackoverflow.com/questions/21040938/get-wordpress-post-by-post-title

반응형