페이지 템플릿에 페이지 콘텐츠를 표시하는 방법은 무엇입니까?
-
-
무엇이 문제입니까?이것은 페이지 템플릿이므로 페이지 콘텐츠에 액세스 할 수 있습니다.예를 들어,다른 별도의 쿼리를 통해 특정 게시물에 액세스 할 수 있으므로 해당 콘텐츠를 출력 할 수 있습니다.그래서?What is the problem? This is a page template, so you have access to the page content. By means of another separate query you gain access to a specific post, for instance, and thus can output its content. So?
- 2
- 2013-03-11
- tfrommen
-
투표하기 전에 잠시 기다려주십시오.나는 그것을 위해 고군분투하고 있으며 해결책을 찾았습니다.나는 다른 사람들과 논리를 공유하기 위해 여기에서 Q & A를 시도했습니다. 내가 찾고있는 방식으로 사실을 명확히 해줄 것이라고 생각합니다.Q & A가 명확하기를 바랍니다.Please be patient before voting down. I's struggling for it and then I found the solution. I tried to Q&A here to share the logic with others - I think it will clarify the fact in a way I's looking for it. Hope the Q & A is clear to you.
- 0
- 2013-03-11
- Mayeenul Islam
-
첫째,귀하의 질문에 반대표를주지 ** 않았습니다 **.둘째,지식을 공유해 주셔서 감사합니다.그렇게하는 것이 절대적으로 옳습니다.문제는이 _question_이 경험 많은 WP 사용자/개발자에게 해결하기 어렵지 않았고 질문을 혼자 게시했다는 사실입니다.처음부터 질문과 답변을하고 싶다면 질문을 작성한 페이지에 직접 답변/솔루션을 포함하면됩니다._ 질문 게시 _ 버튼 아래에 ** 자신의 질문에 답변 ** 확인란이 있습니다.다시 한 번 감사드립니다.Firstly, I did **not** downvote your question. Secondly, thanks for sharing your knowledge with us. You're absolutely right to do so. I guess, the problem is/was that this _question_ was not that hard to solve for experienced WP users/developers, as well as the fact that you posted the question alone. If you want to question & answer right from the start, just include your answer/solution directly on the same page that you write your question on. Below the _Post Your Question_ button there is a check box **Answer your own question**. Thanks again.
- 0
- 2013-03-11
- tfrommen
-
구조를 위해`wp_reset_postdata ()`.각 사용자 지정 쿼리 후에 수행해야합니다.`wp_reset_postdata()` for the rescue. Should be done _after each custom query_.
- 0
- 2013-03-11
- kaiser
-
2 대답
- 투표
-
- 2013-03-11
두 개의 루프를 사용하고 있습니다. 첫 번째 루프는 페이지 콘텐츠를 표시하는 것이고 두 번째 루프는 쿼리 된 게시물 콘텐츠를 표시하는 것입니다. 필요한 경우 코드에 주석을 달았습니다. Deckster0 가 WordPress 지원 에서
the_content()
는 WordPress Loop 내에서만 작동합니다. 이 코드를 내 템플릿에 넣습니다.<?php /* * Template Name: My Template */ get_header(); ?> <div id="container"> <div id="content" class="pageContent"> <h1 class="entry-title"><?php the_title(); ?></h1> <!-- Page Title --> <?php // TO SHOW THE PAGE CONTENTS while ( have_posts() ) : the_post(); ?> <!--Because the_content() works only inside a WP Loop --> <div class="entry-content-page"> <?php the_content(); ?> <!-- Page Content --> </div><!-- .entry-content-page --> <?php endwhile; //resetting the page loop wp_reset_query(); //resetting the page query ?> <?php // TO SHOW THE POST CONTENTS ?> <?php $my_query = new WP_Query( 'cat=1' ); // I used a category id 1 as an example ?> <?php if ( $my_query->have_posts() ) : ?> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php while ($my_query->have_posts()) : $my_query->the_post(); ?> <h1 class="entry-title"><?php the_title(); ?></h1> <!-- Queried Post Title --> <div class="entry-content"> <?php the_excerpt(); ?> <!-- Queried Post Excerpts --> </div><!-- .entry-content --> <?php endwhile; //resetting the post loop ?> </div><!-- #post-<?php the_ID(); ?> --> <?php wp_reset_postdata(); //resetting the post query endif; ?> </div><!-- #content --> </div><!-- #container -->
I'm using two loops. First loop is to show the page content, and the second loop is to show the queried post contents. I commented into the codes where necessary. I emphasized into the loops, as Deckster0 said in WordPress support that,
the_content()
works only inside a WordPress Loop. I'm placing these code into a my own template:<?php /* * Template Name: My Template */ get_header(); ?> <div id="container"> <div id="content" class="pageContent"> <h1 class="entry-title"><?php the_title(); ?></h1> <!-- Page Title --> <?php // TO SHOW THE PAGE CONTENTS while ( have_posts() ) : the_post(); ?> <!--Because the_content() works only inside a WP Loop --> <div class="entry-content-page"> <?php the_content(); ?> <!-- Page Content --> </div><!-- .entry-content-page --> <?php endwhile; //resetting the page loop wp_reset_query(); //resetting the page query ?> <?php // TO SHOW THE POST CONTENTS ?> <?php $my_query = new WP_Query( 'cat=1' ); // I used a category id 1 as an example ?> <?php if ( $my_query->have_posts() ) : ?> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php while ($my_query->have_posts()) : $my_query->the_post(); ?> <h1 class="entry-title"><?php the_title(); ?></h1> <!-- Queried Post Title --> <div class="entry-content"> <?php the_excerpt(); ?> <!-- Queried Post Excerpts --> </div><!-- .entry-content --> <?php endwhile; //resetting the post loop ?> </div><!-- #post-<?php the_ID(); ?> --> <?php wp_reset_postdata(); //resetting the post query endif; ?> </div><!-- #content --> </div><!-- #container -->
-
두 번째 쿼리는`if (have_posts ())`안에 있으면 안됩니다. 그 문은 항상 참이기 때문입니다.쿼리 결과가 있는지 확인하려면`$my_query=new WP_Query ( 'cat=1');`다음에`if ($my_query-> have_posts ())`를 호출하고 args 줄을 호출해야합니다.That second query shouldn't be inside `if( have_posts() )` because that statement will always be true. You should call `if( $my_query->have_posts() )` after the `$my_query = new WP_Query( 'cat=1' );` and args lines if you want to check that query has results.
- 0
- 2013-04-12
- t31os
-
@t31os 당신이 맞습니다.그것은 내 잘못이야.이제 코드를 수정했습니다.신원 확인 감사합니다.:)@t31os you are right. It's my fault. Now corrected the code to such. Thanks for the identification. :)
- 0
- 2014-05-28
- Mayeenul Islam
-
- 2013-03-11
두 개의 루프를 사용하는 것이 일반적이지만 약간 과도하게 사용됩니다.
모든 게시물 또는 페이지는 매우 가변적 인
$post
를 제공합니다.get_post_meta()
가 간단한$post->ID
;)로 작동하는 이유가 궁금하십니까?따라서 나열된 게시물을 가져 오는 WP_Query ()를 시작하기 전에
$post->ID
,$post->post_content
,$post->guid
등루프에서이 변수는 루프 된 게시물로 채워집니다.나중에 저장하려면 새 변수를 만들 수 있습니다.
$temp_post = $post // new WP_Query() + loop here
또는 전화
<인용구>wp_reset_query ()
목록 뒤에 있습니다.사이드 바의 데이터가 현재 페이지/게시물에 적합한 지 확인하려면 마지막 함수를 호출해야합니다.
Two loops is common to do this, but a bit overdosed.
Every post or page gives you the super-variable
$post
. Ever wondered why yourget_post_meta()
works with a simple$post->ID
;) ?So, before you start the WP_Query() that gets your listed posts, you can access the current page-/post-data with
$post->ID
,$post->post_content
,$post->guid
and so on.In the loop, this variable gets filled by the looped post. To save it for later, you can either make a new variable
$temp_post = $post // new WP_Query() + loop here
or call
wp_reset_query()
after the listing. The last function should be called anyway to ensure that the data in your sidebar is the right for the current page/post.
내 WordPress 사이트에서 [
WP_Query()
사용] 사용자 정의 쿼리가 포함 된 사용자 정의 페이지 템플릿을 만들었습니다.이 쿼리로 특정 카테고리의 게시물을 완벽하게 얻을 수 있습니다.하지만 질의 된 게시물과 함께 페이지 내용을 보여주고 싶습니다.상황은 다음과 같습니다.
---------------------------
페이지 제목
페이지 콘텐츠
검색된 게시물 제목
검색된 게시물 콘텐츠
---------------------------