문제

나는 WordPress를 처음 접했지만 약 50 시간 이상의 이상한 시간을 공부하고, 시도하고, 그와 같은 느낌이 들었습니다.

그러나 내가 단순히 일할 수없는 한 가지는 페이지가 특정 카테고리의 게시물 목록을 뱉어내는 것입니다.

내 예는 다음과 같습니다. http://dev.jannisgundermann.com/zoeikin/graphic-design/typographic-posters

내가 가면 직접적으로 올바르게 작동하지만이 페이지에 나타나지 않는 게시물이 있습니다.

게시물 직접 링크.

카테고리 ID는 '3'이고 카테고리 이름은 '타이포그래피 포스터'입니다.

타이포그래피 포스터 페이지에 대한 사용자 정의 페이지 템플릿이 다음과 같이 보입니다.

<?php
/*
Template Name: Typographic Posters
*/
?>

<?php get_header(); ?>
<?php get_sidebar(); ?>

<?php if (in_category('3')): ?>
<div class="post">

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>


  <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
   <div class="post-description">
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
   </div>
   <?=get_image('flutter-image');?>
  </div>


    <?php endwhile; else: ?>
     <p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
    <?php endif; ?>

</div>
<?php endif; ?>

<?php get_footer(); ?>

이 코드를 사용하지만 페이지 만 표시하면 헤더, 사이드 바 등이 표시되지 않습니다.

누군가가 나를 도울 수 있다면이 WordPress 카테고리 필터링을 처리하는 데 도움이 될 것입니다.

읽어 주셔서 감사합니다,

Jannis

도움이 되었습니까?

해결책

in_category 단일 페이지에서 루프 외부에서만 작동합니다. 나는 사용하는 것이 좋습니다 query_posts 이 문제를 해결하는 기능. 당신은 사용할 수 있습니다 query_posts('cat=3') 또는 query_posts('category_name=typographic-posters') 찾고있는 게시물을 얻으려면.

획득되면 일반적인 WordPress 루프를 사용 하여이 게시물에 액세스하십시오.

다른 팁

가장 쉬운 방법은 호출 된 파일을 만드는 것입니다 category-3.php 정상의 표준 코드를 사용하십시오 index.php 또는 category.php 파일. WordPress는 ID = 3 및 어린이 카테고리를 가진 카테고리에서만 게시물을 가져 오는 것을 처리합니다.

in_category는 단일 페이지에서 루프 외부에서만 작동합니다. query_posts 함수를 사용 하여이 문제를 해결하는 것이 좋습니다. query_posts ( 'cat = 3') 또는 query_posts ( 'category_name = typographic-posters')를 사용하여 원하는 게시물을 얻을 수 있습니다.

획득되면 일반적인 WordPress 루프를 사용 하여이 게시물에 액세스하십시오.

이것은 훌륭하게 작동했지만 설정> 읽기로 이동하여 게시물 페이지를 - select - 옵션으로 설정 하거나이 쿼리를 무시하고 카테고리에 관계없이 모든 최근 게시물을 덤프합니다.

아래 메소드를 사용하여 카테고리 ID별로 포스트를 필터링했습니다.

               query_posts('cat=1&showposts=3');
                if (have_posts()) : while (have_posts()) :

                // if(1) {
                    //echo the_category_ID();
                 the_post();
                /**
                 * The default post formatting from the post.php template file will be used.
                 * If you want to customize the post formatting for your homepage:
                 * 
                 *   - Create a new file: post-homepage.php
                 *   - Copy/Paste the content of post.php to post-homepage.php
                 *   - Edit and customize the post-homepage.php file for your needs.
                 * 
                 * Learn more about the get_template_part() function: http://codex.wordpress.org/Function_Reference/get_template_part
                 */

                $is_post_wrap++;
                    if($is_post_wrap == '1') {
                        ?><div class="post-wrap clearfix"><?php
                    }
                    get_template_part('post', 'homepage');

                    if($is_post_wrap == '3') {
                        $is_post_wrap = 0;
                        ?></div><?php
                    }



            endwhile;

            else :
                get_template_part('post', 'noresults');
            endif; 

루프 전에 간단히 추가하십시오.

<?php query_posts="cat=3&showposts=5">

이렇게하면 루프가 카테고리 3 (CAT = 3)에서 5 개의 게시물 (showposts = 5)을 표시하도록합니다.

나는 두 번째 Eimantas의 제안을 할 것입니다. 그만큼 템플릿 계층 범주 -3.php를 사용하여 해당 범주에 게시물을 표시합니다. 일반적으로 테마의 index.php 또는 category.php를 카테고리 -3.php에 복사하고 필요한 사용자 정의에 맞게 해당 템플릿을 조정하면됩니다. 또한 카테고리 템플릿은 게시물의 페이지 매김을 더 잘 지원합니다.

그러나 해당 게시물을 표시하려면 페이지를 고수 해야하는 경우 게시물 예제의 페이지.

http://codex.wordpress.org/template_tags/query_posts

이 답변이 어디에서 왔는지 알 수 있습니다 ... query_posts에서도 할 수있는 훨씬 더 흥미로운 기능이 있습니다.

이 플러그인은 코드를 통과하지 않고 표시된 카테고리를 변경할 수 있으려면 도움이 될 수 있습니다.http://wordpress.org/extend/plugins/advanced-category-excluder/

당신의 생각을 공유해 주셔서 감사합니다. 일반적으로 테마의 index.php 또는 category.php를 카테고리 -3.php에 복사하고 필요한 사용자 정의에 맞게 해당 템플릿을 조정할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top