从自定义支柱类型创建数组以显示滑块

时间:2014-05-24 作者:Sam Skirrow

我在wordpress主题中创建了一个自定义帖子类型,专门为主页上显示的滑块创建幻灯片,它有标题、幻灯片文本、幻灯片url以及特色图像。

我现在正试图从自定义帖子类型中的元框中获取此信息,并将其转换为一个滑块,该滑块显示的幻灯片数量与帖子数量相同。

目前,我输出的代码有点混乱,所发生的一切就是显示了特征图像,但不在正确的位置,也不带文本等。

以下是我的php代码:

<section id="intro" class="main fullscreen">
<div class="slider-wrapper">
<div id="header_slider" class="owl-carousel owl-theme">

<?php $loop = new WP_Query( array( \'post_type\' => \'slider\', \'posts_per_page\' => -1 ) );?>
<?php while ( $loop->have_posts() ) : $loop->the_post();?>

<?php
$slide_text = get_post_meta($post->ID, "_text", true); 
$slide_url = get_post_meta($post->ID, "_url", true); 
$slide_img = the_post_thumbnail(); 
?>

<div class="item slider-info" style="background-color:#3498db;">
<div class="text-slider">
    <p><?php echo $slide_text; ?></p>
        <a href="<?php echo $slide_url; ?>" id="scroll_to">
            <span class="scroll-down">
                <span class="fa fa-angle-down"></span>
            </span>see what we can do for you.</a>            
</div>
<?php echo $slide_img; ?>        
</div>

<?php endwhile; wp_reset_query(); ?>
</div>
</div>
</section>
这将在我的HTML中返回以下内容:

<section id="intro" class="main fullscreen">
<div class="slider-wrapper">
<div id="header_slider" class="owl-carousel owl-theme">

<img width="1230" height="620" src="http://resurrectiongroup.thedistractionsband.co.uk/wp-content/uploads/2014/05/slider-4.jpg" class="attachment-post-thumbnail wp-post-image" alt="slider-4" /><div class="item slider-info" style="background-color:#3498db;">
        <div class="text-slider">
            <p></p>
                <a href="#" id="scroll_to">
                    <span class="scroll-down">
                        <span class="fa fa-angle-down"></span>
                    </span>see what we can do for you.</a>            
        </div>
        </div>

<img width="1230" height="620" src="http://resurrectiongroup.thedistractionsband.co.uk/wp-content/uploads/2014/05/slider-1.jpg" class="attachment-post-thumbnail wp-post-image" alt="slider-1" /><div class="item slider-info" style="background-color:#3498db;">
        <div class="text-slider">
            <p>#about</p>
                <a href="#" id="scroll_to">
                    <span class="scroll-down">
                        <span class="fa fa-angle-down"></span>
                    </span>see what we can do for you.</a>            
        </div>
        </div>

</div>
</div>

</section>
我不知道我做错了什么,我肯定这与我如何设置循环有关,但我不确定从哪里开始寻找。任何帮助都将不胜感激

2 个回复
最合适的回答,由SO网友:Nicklas 整理而成

您正在使用the_post_thumbnail() 这将回显实际缩略图。您应该使用get_the_post_thumbnail() 如果希望返回值,则不回显。

因此,改变:

$slide_img = the_post_thumbnail();
收件人:

$slide_img = get_the_post_thumbnail();
正如Matt指出的那样,您还应该确保使用了正确的元字段名称,并检查这些值是否设置正确。

SO网友:Matt Royal

看起来您在get\\u post\\u meta()中没有正确引用字段名;作用我会从这里开始,因为你的其余代码对我来说很好。。。

get_post_meta($post->ID, "make_sure_this_is_the_full_and _correct_field_name", true); 

结束

相关推荐

Two loops in one function

我正在尝试让这个函数与jquery选项卡一起工作,并且我已经让它的一些部分工作起来了。现在,该函数正确地输出<ul> <li>item1</li> <li>item2</li> etc.. </ul> 但它根本没有发出第二个循环。我对wordpress不是最熟练的,更不用说php本身了,所以我希望能得到一些关于如何正确设置这样一个函数的帮助。function new_function($typ