워드프레스 포스팅 내 원하는 위치에 최근글을 자동으로 넣기

워드프레스 정보를 제공하는 블로그 Avada 2023. 7. 17. 08:11 • 댓글:

GeneratePress 테마에서 포스팅 상단 부근 서론 바로 아래에 최근 글이 자동으로 3~5개 정도 들어가게 할 수 있는지에 대한 질문이 네이버 카페에 올라와서 효과적으로 원하는 위치에 최신 글 등의 PHP 코드를 삽입하는 방법에 대해 잠시 생각해보았습니다.

워드프레스 포스팅 내 원하는 위치에 최근글을 자동으로 넣기
출처: 네이버 카페.

워드프레스 포스팅 내 원하는 위치에 최근글을 자동으로 넣기

최근 글을 넣으려는 경우 1) List category posts와 같은 플러그인을 사용하여 숏코드로 넣거나 2) PHP로 직접 최근 글 리스트를 만들어서 넣는 방법을 생각해 볼 수 있습니다.

또한, 어떤 방법으로 포스트 내의 특정 위치에 숏코나 PHP 코드를 추가할지에 대해 고려해야 합니다.

GeneratePress 테마에서는 훅을 사용하여 제목 아래 등 특정 위치에 코드를 추가할 수 있습니다.

 

GeneratePress 테마 후크 사용하기 - 워드프레스 정보꾸러미

GeneratePress 테마는 쉽게 커스텀이 가능하도록 자체 후크를 제공합니다. 함수 파일에 GeneratePress 테마 후크를 이용하여 코드를 직접 삽입할 수 있고, GP Premium을 이용하는 경우 Element를 사용하여 수

www.thewordcracker.com

하지만 첫 번째 문단 혹은 두 번째 문단 아래, 첫 번째 H2 소제목 위 등과 같이 상세한 위치 지정은 코딩이 필요하므로 간단하지 않습니다. 

최신 글 리스트를 첫 번째 문단  뒤와 같이 보다 상세하게 배치하고 싶은 경우에는 Ad Inserter 플러그인을 사용할 수 있습니다.

워드프레스 포스팅 내 원하는 위치에 최근글을 자동으로 넣기 - Ad Inserter 플러그인

위의 그림과 같이 php 옵션을 선택하여 활성화하면 PHP 코드를 광고 코드 대신 삽입할 수 있습니다.

경우에 따라 상기 그림과 다르게 php 버튼이 없는 경우도 있습니다. 그런 경우에는 테마 편집기가 비활성화되었을 수 있습니다.

보안을 위해 테마 편집기는 비활성화하는 것이 바람직합니다. 테마 편집기를 비활성화한 경우, wp-config.php 파일에서 [**define('DISALLOW_FILE_EDIT', true);**] 라인을 삭제하거나 주석 처리하시기 바랍니다.

 

워드프레스 테마 편집기 문제

워드프레스에서 테마 편집기를 사용하면 FTP에 접속할 필요가 없이 워드프레스 관리자 페이지에 로그인하여 테마 파일을 편집할 수 있습니다.외모 > 테마 편집기를 클릭하면 테마 ...

cafe.naver.com

최신 글을 나열하고 싶은 경우 다음과 같은 PHP 코드를 추가할 수 있습니다.

<?php
// Define the WP Query parameters
$args = array( 
    'post_type' => 'post',
    'posts_per_page' => 3
);

// Create a new instance of WP_Query
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
    echo '<ol>';  // Start ordered list
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
        <?php
    }
    echo '</ol>';  // End ordered list
    /* Restore original Post Data */
    wp_reset_postdata();
} else {
    // No posts found
    echo 'No recent posts found';
}
?>

상기 코드를 사용하면 최근의 3개 포스트가 표시됩니다.

현재 글을 최신 글 목록에서 제외시키려면 다음과 같은 코드를 사용할 수 있습니다.

<?php
global $post;  // Make sure $post is in scope
$current_post_id = $post->ID;  // Get current post ID

// Define the WP Query parameters
$args = array( 
    'post_type' => 'post',
    'posts_per_page' => 3,
    'post__not_in' => array($current_post_id)  // Exclude current post
);

// Create a new instance of WP_Query
$the_query = new WP_Query( $args );

// The Loop
if ( $the_query->have_posts() ) {
    echo '<ol>';  // Start ordered list
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        ?>
        <li>
            <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
        </li>
        <?php
    }
    echo '</ol>';  // End ordered list
    /* Restore original Post Data */
    wp_reset_postdata();
} else {
    // No posts found
    echo 'No recent posts found';
}
?>

테스트해 보니 잘 작동하네요.

워드프레스 포스팅 내 원하는 위치에 최근글을 자동으로 넣기

Ad Inserter에서는 광고 위치를 상세하게 설정할 수 있으므로, 위치를 적절히 조정하시기 바랍니다.

참고

https://avada.tistory.com/3049

 

GeneratePress 테마: 블로그에서 카테고리와 태그 제거하기

워드프레스 GeneratePress 테마의 유료 버전에서는 사용자 정의하기 내의 Blog 섹션에서 블로그 아카이브 페이지와 개별 블로그 글의 레이아웃을 지정할 수 있고 카테고리, 태그 등의 요소를 쉽게 제

avada.tistory.com

https://avada.tistory.com/2897

 

엘리멘터 무료 버전 vs. 프로 버전 비교

엘리멘터(Elmentor)는 500만 개가 넘는 사이트에 설치되어 사용되고 있는 인기 워드프레스 페이지 빌더 플러그인입니다. 엘리멘터는 무료 버전과 프로 버전으로 제공됩니다. Elementor 프로 버전에서

avada.tistory.com

https://avada.tistory.com/3071

 

클라우드웨이즈: 디스크 공간 부족 시 대처 방법

홈페이지를 운영하다 보면 다양한 원인으로 인해 디스크 공간 부족 현상이 발생할 수 있습니다. 디스크 공간이 부족하게 되면 사이트 속도도 느려질 수 있습니다. 다음은 해외호스팅 중 하나인

avada.tistory.com