我正在尝试通过回显我的div来将OwlCarousel2
Url Hash导航添加到wordpress,但是有wordpress功能,我真的不知道如何用我的回声来处理它
这是我的代码:
<div id="owl-main" class="owl-hash">
<?php $feat_query = new WP_Query( array( 'showposts' => 5,'meta_key'=>'_thumbnail_id') ); ?>
<?php if ( $feat_query->have_posts() ) {
while ( $feat_query->have_posts() ) {
$feat_query->the_post();
$counter = 1;
$counter++;
$permalink = get_permalink($post->ID);
echo'<div class="item" data-hash='.$counter.'<a href=.'$permalink'.'>'<?php the_post_thumbnail(); ?><?php the_title(); ?></a></div>';}
{
echo'<a class="button<?php echo $counter?>" href= "#<?php echo $counter;?>"><?php the_title(); ?></a>';
}
} // end if?>
</div>
答案 0 :(得分:0)
不完全确定你想得到什么,但尝试这样:
<div id="owl-main" class="owl-hash">
<?php $counter = 1; ?>
<?php $feat_query = new WP_Query( array( 'showposts' => 5,'meta_key'=>'_thumbnail_id') ); ?>
<?php
if ( $feat_query->have_posts() ) {
while ( $feat_query->have_posts() ) {
$feat_query->the_post();
$permalink = get_permalink($post->ID);
echo '<div class="item" data-hash="'.$counter.'"><a href="'.$permalink.'">'. get_the_post_thumbnail() . get_the_title().'</a></div>';
$counter++;
}
echo '<a class="button '.$counter.'" href="#'.$counter.'">'.get_the_title().'</a>';
} // end if?>
</div>
您已拥有回声,然后php
环境中已有php
个标记。还有多个回声。那不好。
安装SublimeText 3,您将看到何时通过着色编写代码。如果着色关闭,你就会知道出了问题。
例如,我的代码如下所示:
而你的看起来像这样
您可以清楚地看到绿色的变量,橙色的功能和蓝色的html。在您的情况下,即使php
代码为蓝色(不好)。
我也重新整理了你的代码。你应该在循环之外移动你的初始化计数器变量,否则它将在while中始终设置为1,并且你不会完成任何计数。此外,我没有对此进行测试,因此可能会发现您必须使用the_post_thumbnail()
代替get_the_post_thumbnail()
(get_
函数通常用于{{ 1}}环境,而不是return
)。但试一试,看看它是否有效。
已编辑的代码
所以如果你这样说的话
echo
您将获得如下代码:
<div id="owl-main" class="owl-hash">
<?php $counter = 1; ?>
<?php $feat_query = new WP_Query( array( 'showposts' => 5,'meta_key'=>'_thumbnail_id') ); ?>
<?php
if ( $feat_query->have_posts() ) {
while ( $feat_query->have_posts() ) {
$feat_query->the_post();
$permalink = get_permalink($post->ID);
echo '<div class="item" data-hash="'.$counter.'"><a href="'.$permalink.'">'. get_the_post_thumbnail() . get_the_title().'</a></div>';
echo '<a class="button '.$counter.'" href="#'.$counter.'">'.get_the_title().'</a>';
$counter++;
}
} // end if
wp_reset_postdata();
?>
</div>
我测试了它并且有效。
新代码
根据您的上一个代码,我认为您的意思是这样的:
<div id="owl-main" class="owl-hash">
<div class="item" data-hash="1">
<a href="http://yoursite.com/?p=98">
<img width="825" height="510" src="http://yoursite.com/wp-content/uploads/image1.jpg" class="attachment-post-thumbnail wp-post-image" alt="Image 1">
Image post 1
</a>
</div>
<a class="button 1" href="#1">Image post 1</a>
<div class="item" data-hash="2">
<a href="http://yoursite.com/?p=95">
<img width="825" height="510" src="http://yoursite.com/wp-content/uploads/image2.jpg" class="attachment-post-thumbnail wp-post-image" alt="Image 2">
Image post 2
</a>
</div>
<a class="button 2" href="#2">Image post 2</a>
<div class="item" data-hash="3">
<a href="http://yoursite.com/?p=93">
<img width="825" height="510" src="http://yoursite.com/wp-content/uploads/image3.jpg" class="attachment-post-thumbnail wp-post-image" alt="Image 3">
Image post 3
</a>
</div>
<a class="button 3" href="#3">Image post 3</a>
<div class="item" data-hash="4">
<a href="http://yoursite.com/?p=91">
<img width="825" height="510" src="http://yoursite.com/wp-content/uploads/image4.jpg" class="attachment-post-thumbnail wp-post-image" alt="Image 4">
Image post 4
</a>
</div>
<a class="button 4" href="#4">Image post 4</a>
<div class="item" data-hash="5">
<a href="http://yoursite.com/?p=89">
<img width="825" height="510" src="http://yoursite.com/wp-content/uploads/image5.jpg" class="attachment-post-thumbnail wp-post-image" alt="Image 5">
Image post 5
</a>
</div>
<a class="button 5" href="#5">Image post 5</a>
</div>
小心不要重复你的变量,这些变量不起作用(因为它们实际上是对象,你希望它们有不同的名称)。也只在每次查询后重置postdata,而不是查询本身。这样,您只需重置主查询循环的全局<section>
<div class="wrapper">
<div class="owl-hash">
<?php $counter = 1; ?>
<?php $feat_query = new WP_Query( array( 'posts_per_page' => 5,'meta_key'=>'_thumbnail_id') ); ?>
<?php
if ( $feat_query->have_posts() ) {
while ( $feat_query->have_posts() ) {
$feat_query->the_post();
$permalink = get_permalink($post->ID);
echo '<div class="item" data-hash="'.$counter.'"><a href="'.$permalink.'">'. get_the_post_thumbnail() . get_the_title().'</a></div>';
$counter++;
}
}
wp_reset_postdata(); ?>
</div>
<?php
$counter_2 = 1;
$feat_query_2 = new WP_Query( array( 'posts_per_page' => 5,'meta_key'=>'_thumbnail_id') );
if ( $feat_query_2->have_posts() ) {
while ( $feat_query_2->have_posts() ) {
$feat_query_2->the_post();
echo '<a class="button '.$counter_2.'" href="#'.$counter_2.'">'.get_the_title().'</a>';
$counter_2++;
}
}
wp_reset_postdata();
?>
</div>
</section>
变量。 $post
将wp_reset_query()
和全局发布数据恢复为原始主查询,此处不会受到影响。
$wp_query
实际上是一个类,您的查询实际上是在创建一个对象,您可以从中提取所需的所有必要数据。 WP_Query
和wp_reset_query()
是wp_reset_postdata()
类的方法,可让您多次使用它而不会影响全局。
希望这有帮助。