猫头鹰网址哈希导航wordpress

时间:2015-11-26 06:28:32

标签: php wordpress owl-carousel

我正在尝试通过回显我的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>

1 个答案:

答案 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,您将看到何时通过着色编写代码。如果着色关闭,你就会知道出了问题。

例如,我的代码如下所示:

enter image description here

而你的看起来像这样

enter image description here

您可以清楚地看到绿色的变量,橙色的功能和蓝色的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> 变量。 $postwp_reset_query()和全局发布数据恢复为原始主查询,此处不会受到影响。

$wp_query实际上是一个类,您的查询实际上是在创建一个对象,您可以从中提取所需的所有必要数据。 WP_Querywp_reset_query()wp_reset_postdata()类的方法,可让您多次使用它而不会影响全局。

希望这有帮助。