我为自己制作博客,并制作了自定义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 Fields将cat=65
值更改为其他内容?
我想在不同的Wordpress页面上使用相同的模板,但我想显示不同的类别。
答案 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
找到我的社交网络。