根据页面名称动态调用类别到WordPress模板

时间:2014-01-10 07:00:42

标签: php wordpress

这很令人沮丧。我一直在寻找如何做到这一点的几个小时。

我正在创建一个WP模板,用于在页面上提取类别的查询。

我的问题是如何根据页面标题的内容动态加载数组中的类别,无论是通过slug还是其他什么?

这个奇特的部分是它将在页面上的三个部分通过另一个类别也需要加载到模板中,但那些不是动态的。

所以,如果我可以打破这个:

第1节 - TitleCat + Section1Cat

然后

第2节 - TitleCat + Section2Cat

然后

第3节 - TitleCat + Section3Cat

在内容创建过程中,我的团队只需点击两个类别,网站就会自动将帖子摘录到需要的位置!

它需要是动态的,所以我不需要为帖子分成的31个类别中的每个类别构建一个模板。

编辑:这就是我使用ACF接近它的方式。如果要采用这种方式,可以简单地将该阵列切换为类别。同样的概念。

<?php $pagecat = $post->post_title; //this copies the page title the page title ?>

<?php 

// args
$args = array(
  'posts_per_page' => 4,
  'meta_query' => array(
    'relation' => 'AND',
    array(
      'key' => 'page',
      'value' => $pagecat,
      'compare' => '='
    ),
    array(
      'key' => 'section',
      'value' => 'Second String',
      'compare' => '='
    )
  )
);

$the_query = new WP_Query( $args ); 

?>

1 个答案:

答案 0 :(得分:0)

在任何自定义/模板页面上,您可以多次使用此页面,例如在主页上,您希望显示多个不同类别的文章样本:

代码示例

<!-- Create query -->
<?php  query_posts( array ( 'category_name' => 'category-slug-goes-here', posts_per_page' => 1 ) ); ?>

      <?php // The Loop
      while ( have_posts() ) : the_post();?>

      // CODE THAT YOU WANT HERE 

      <?php endwhile; ?>

// IMPORTANT RESET QUERY 
<?php // Reset Query
 wp_reset_query(); ?>

现在你可以在一个模板上多次重复这个OVER和OVER ......

现在,您可以在“Single.php”页面中显示某篇文章的单篇文章,使用http://www.wordpress.org网站获取更多参考资料。

以下是您需要IF语句的single.php页面的代码,您可以定位要以特定方式显示的特定类别...

<?php if(have_posts() && (in_category('category-name-here') || in_category('category-name-here-2') || in_category('category-name-here-3') )) : while(have_posts()) : the_post(); ?>

// NOW HERE use HTML to format the article for those categories. 

现在你说你有30多个不同的类别我认为你想要不同的显示器..

现在,您将反复使用相同的IF语句,并在中间更改HTML格式代码。因此,最终您将拥有1页内的所有页面布局,并且您将按category-name

定位它们

祝你好运!