Wordpress查询帖子使用ACF更改类别

时间:2014-05-14 13:08:14

标签: wordpress advanced-custom-fields

我为自己制作博客,并制作了自定义page-template.php。 我正在使用Wordpress query_posts循环:

好吧,我有一个名为page-video.php的模板,我正在使用此查询!

<?php query_posts("cat=65"); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

    <article class="left-container-video"<?php post_class() ?> id="post-<?php the_ID(); ?>">
        <header class="video-header">
            <a href="<?php the_permalink() ?>"><h3> <?php the_title(); ?> </h3></a>
        </header>

             <div class="video-container">
                 <iframe src="<?php the_field("link"); ?>" frameborder="0" width="560" height="315"  allowfullscreen></iframe>
            </div><!-- end vid container -->

     </article>
<?php endwhile; ?>

<?php else : ?>

    <h2>Sidan hittades inte</h2>

<?php endif; ?>
<?php wp_reset_query(); ?>

有没有办法通过Advanced Custom Fieldscat=65值更改为其他内容?

我想在不同的Wordpress页面上使用相同的模板,但我想显示不同的类别。

2 个答案:

答案 0 :(得分:0)

您可以在每个自定义模板中简单地include一个PHP文件:

partial-include.php

<?php query_posts("cat=" . $category_id); // category is not hardcoded ?>
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <article class="left-container-video"<?php post_class() ?> id="post-<?php the_ID(); ?>">
        <header class="video-header">
            <a href="<?php the_permalink() ?>"><h3> <?php the_title(); ?> </h3></a>
        </header>
        <div class="video-container">
            <iframe src="<?php the_field("link"); ?>" frameborder="0" width="560" height="315"  allowfullscreen></iframe>
        </div><!-- end vid container -->
    </article>
    <?php endwhile; ?>
<?php else : ?>
    <h2>Sidan hittades inte</h2>
<?php endif; ?>
<?php wp_reset_query(); ?>

然后在每个模板文件中:

custom-template-1.php

<?php
/*
Template Name: Custom Page 1
*/
get_header();
?>

    // ....

    <?php
        $category_id = 123;
        include('partial-include.php');
    ?>

    // ....

<?php get_footer(); ?>

您可以为需要该功能的每个页面重复此操作。

如果您需要将其与高级自定义字段中的自定义字段集成,则可以通过在$category_id文件中执行以下操作来更改custom-template-1.php的值:

<?php
    $category_id = get_field('category_id'); // example
    include('partial-include.php');
?>

答案 1 :(得分:0)

伙计,你可以做很多事情。如果我在你的座位上,我会这样做。

这是代码。在这个我使用类别slug你也可以使用id。

function.php文件中添加此

/*------------------------------------------*/
/**  [media] shortcode function - by Yesh  **/
/*------------------------------------------*/
function mediaShortcode($atts) {
  //Extract Shotcode from the pages and posts
  extract(shortcode_atts(array('slug' => 'default'), $atts));
  global $post;
  $args = array( 'numberposts' => 5, 'category_name' => $atts['slug'], 'orderby'  => 'post_date', 'order' => 'DESC');
  //print_r($args);
  $posts = get_posts( $args );
  //print_r($posts);
  $html="";
  foreach ($posts as $post) {
    $html.='<article class="left-container-video">';
      $html.='<header class="video-header">';
        $html.='<a href="'.$post->guid.'"><h1>'.$post->post_title.'<h1></a>';
      $html.='</header>';
      $html.='<div class="video-container">';
        $html.=$post->post_content;
      $html.='</div><!-- end vid container -->';
    $html.='</article>';
    //$html.=do_shortcode($post->post_content);
  }
return $html;
}
add_shortcode('media', 'mediaShortcode');

template.php

<?php
/*
Template Name: Media page Template
*/
?>
<?php get_header(); ?>
<div class="wrapper-small">
    <div style="" id="media-page">
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php the_content(); ?>
    <?php endwhile; ?>
        <!-- <div class="navigation">
            <div class="next-posts"><?php next_posts_link(); ?></div>
            <div class="prev-posts"><?php previous_posts_link(); ?></div>
        </div> -->
    <?php else : ?>
        <h1>Not Found</h1>
    <?php endif; ?>
  </div>
</div><!-- end wrapper -->
<?php get_footer(); ?>

现在,作为我的功能。我必须在页面[media slug="video-category"]中添加。 选择页面模板为Media Page template. Then发布. If you want to show more category posts. Just add after the first line your next category slug. [media slug =&#34; video-gallery]。

这将显示您图库中的其他帖子。您只需选择主题。您可以在任何页面中使用它。

有关更多信息,请参阅这些文章。

如果你需要我的帮助。请通过搜索yeshansachithak找到我的社交网络。