bestsource

Wordpress: 한 페이지의 내용을 다른 페이지에 포함

bestsource 2023. 4. 4. 21:51
반응형

Wordpress: 한 페이지의 내용을 다른 페이지에 포함

하나 이상의 페이지의 내용을 다른 페이지에 포함하려면 어떻게 해야 합니까?

예: A페이지, B페이지, C페이지가 있는데, 이 페이지들의 내용을 X페이지에 포함시키고 싶습니다.

지정된 페이지/포스트의 게시물을 로드하는 워드프레스 기능이 있습니까?
예를 들어 show_post("pageA")?

는 없습니다.show_post()WordPress 코어에서는 기능 자체이지만 쓰기 매우 쉽습니다.

function show_post($path) {
  $post = get_page_by_path($path);
  $content = apply_filters('the_content', $post->post_content);
  echo $content;
}

이것은 페이지의 패스와 함께 호출됩니다.즉, 다음과 같습니다.

<?php show_post('about');  // Shows the content of the "About" page. ?>
<?php show_post('products/widget1');  // Shows content of the "Products > Widget" page. ?>

물론 함수의 이름을 붙이지는 않을 것입니다.show_post()WordPress core가 향후 동일한 이름의 함수를 추가할 경우.그래도 네 선택이야.

또한 @kevtrout은 매우 뛰어나기 때문에 가볍게 말할 생각은 없습니다.앞으로 StackOverflow의 자매 워드프레스 Answers에 WordPress 질문을 투고하는 것을 검토해 주십시오.WordPress 마니아 중 훨씬 더 높은 비율의 사람들이 질문에 답하고 있습니다.

워드프레스 포럼에 올라온 답변입니다.함수에 작은 코드를 추가합니다.php는 언제든지 단축코드를 사용할 수 있습니다.

function get_post_page_content( $atts ) {
        extract( shortcode_atts( array(
            'id' => null,
            'title' => false,
        ), $atts ) );

        $the_query = new WP_Query( 'page_id='.$id );
        while ( $the_query->have_posts() ) {
            $the_query->the_post();
                if($title == true){
                the_title();
                }
                the_content();
        }
        wp_reset_postdata();

    }
    add_shortcode( 'my_content', 'get_post_page_content' );

쇼트코드의 경우,

[my_content id="Enter your page id number" title=Set this to true if you want to show title /]

페이지는 투고일 뿐이며 데이터베이스에 post_type이 'page'입니다.지정한 투고를 가져와 루프에 출력하는 투고 쿼리를 pageX 템플릿에 쓰면 다른 페이지에 여러 페이지의 내용을 표시할 수 있습니다.

데이터베이스에서 투고 내용을 가져오는 방법에는 다음 세 가지가 있습니다.

  1. get_filength(가져오기)
  2. query_module
  3. WP_쿼리

이 링크는 모두 WordPress Codex를 가리킵니다.Get_posts 및 query_posts에는 'page_id'라는 인수가 있으며, 여기서 취득하여 표시할 페이지의 ID를 지정할 수 있습니다.

플러그인 "개량된 포함 페이지"를 설치할 수 있습니다.설치 후 X페이지를 작성하고 다음과 같이 입력합니다.

[include-page id="123"]
[include-page id="124"]
[include-page id="125"]

여기서 이들은 각각 A, B 및 C 페이지의 ID입니다.

<?php query_posts('p=43');

global $more;
//set $more to 0 in order to only get the first part of the post
$more = 0; 

    // the Loop
    while (have_posts()) : the_post(); 

     // the content of the post ?>
    the_title();
    the_content(); 

    endwhile; ?>

이것은 분명히 투고의 일부입니다.나는 워드프레스 코덱스에서 자세한 내용을 얻었습니다.

재밌다...Wordpress 콘텐츠를 다른 곳(다른 웹사이트 등)에 삽입하는 방법을 찾아보니...

  • www . shooflydesign.org/buzz/past/embedding_wordpress . html
    • php 스크립트로 Wordpress 콘텐츠를 다른 사이트에 삽입하는 방법을 보여줍니다. Wordpress를 삽입하는 데 같은 것을 사용할 수도 있습니다.
  • www . corvidworks . com / com / wordpress - content - on - - 페이 ww ww ww
    • 비슷한 개념입니다. Wordpress를 다른 페이지에 삽입하고 새로운 WP 투고에서 해당 도구를 사용해 보십시오.
  • ★★★★★★★★★★★★★★★★★★▼
    • 제 검색 결과, 자신의 블로그에 대한 피드를 사용하여 투고에 포함시키는 것이 제안되었습니다.그것을 막을 수 있는 것은 아무것도 없다.자동화가 필요하므로 피드를 적절하게 재구성하는 것은 문제가 될 수 있지만, 원하는 작업에 따라 시도해 볼 가치가 있습니다.

그것들이 거의 도움이 되길 바란다.모두 WP 이외의 장소에서 WP 콘텐츠를 입수할 수 있는 솔루션이지만...해당 질문에 대해 작동하여 X에 A, B 및 C를 표시할 수 있습니다.

Wordpress 함수는 query_posts()를 사용하여 다른 페이지 내의 특정 페이지 내용을 표시합니다.

<?php query_posts("posts_per_page=1&post_type=page&post_id=134"); the_post(); ?>

표시할 페이지 수를 1로 설정하고 게시 유형은 게시물이 아닌 페이지 및 페이지 ID로 설정합니다.

숏코드를 작성하는 Kit Johnson의 워드프레스 포럼 솔루션은 기능하지만 쇼트코드가 추가된 위치가 아닌 새 페이지 상단에 삽입된 페이지를 추가합니다.하지만 폐쇄적이고 다른 사람들을 위해 일할 수 있습니다.

워드프레스 포스트에서 쇼트코드가 삽입된 페이지를 정리했습니다.

function get_post_page_content( $atts ) {
    extract( shortcode_atts( array(
        'id' => null,
        'title' => false,
    ), $atts ) );
    $output = "";       

    $the_query = new WP_Query( 'page_id='.$id );
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
            if($title == true){
            $output .= get_the_title();
            }
            $output .= get_the_content();
    }
    wp_reset_postdata();
    return $output;

}

그러면 쇼트 코드 비트가 예상대로 동작합니다.title=false라는 제목을 원하지 않는 경우 제목을 완전히 해제해야 합니다.

언급URL : https://stackoverflow.com/questions/4090698/wordpress-include-content-of-one-page-in-another

반응형