将一系列定制字段放入数组的最佳方式是什么?

时间:2010-09-21 作者:cannyboy

我在某些页面上附加了一系列自定义字段。这些字段名为slide1、slide2、side3、slide4、slide5、slide6。

这些图像将用作幻灯片(我使用jflow slider来-http://net.tutsplus.com/articles/news/using-the-wonderful-jflow-plugin-screencast/ )

(我不想将它们全部称为“幻灯片”,并将它们放在自定义字段数组中,因为每个幻灯片可能都有标题,并且当幻灯片和标题都是自定义字段数组时,顺序可能不匹配)

现在,有时只输入3张幻灯片(幻灯片1到幻灯片3),有时全部输入6张幻灯片(幻灯片1到幻灯片6)。

我不是很懂PHP,我想知道将这些自定义字段粘贴到PHP数组中,然后遍历它们以打印出代码的最佳方法是什么,这看起来有点像下面的代码?

<div id="slides">  
 <div><img src="qwerty.jpg">  
</div>  
 <div><img src="foo.jpg">  
 </div> 
 <div><img src="test.jpg">   
 </div>
</div>  
要打印的代码(例如slide1的图像)类似于:

<img src="<?php echo wp_get_attachment_url($slide1); ?>">

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

这种用幻灯片进行wokring的方式似乎既流行又可怕……)I编码something very much like this 不久前

基本思路,根据需要进行调整:

$id = get_the_ID();
$slides = array();
$i = 1;    

foreach( get_post_custom_keys( $id ) as $key )
    if ( false !== strpos( $key, \'slide\' ) )
        $slides[$key] = get_post_meta( $id, $key, true);

while( isset( $slides["slide{$i}"] ) ) {

    echo \'<img src="\' . wp_get_attachment_url( $slides["slide{$i}"] ). \'" />\';
    $i++;
}

SO网友:kevtrout

您是否愿意将幻灯片另存为单独的帖子?我过去也这样做过。

考虑使用自定义字段将帖子分配到页面的幻灯片中。为每张图片创建一篇文章,在其中创建一个自定义字段键“slide\\u show\\u for”,并写入父页ID。

slide_show_for => 29

无论您在何处调用幻灯片,请使用以下选项:

query_posts(\'meta_key=slide_show_for&meta_value=\'.$wp->query_vars[\'p\']);
如果您需要严格控制幻灯片顺序,并且没有按照希望显示的顺序创建幻灯片帖子,我建议您postMash plugin 使用拖放界面订购帖子。此插件无法选择您希望订购的帖子类别。它的选项面板将默认显示所有帖子。我已经将插件代码硬编码为我想要编辑的任何类别。这可能超出了你的舒适区,也许还有另一种控制顺序的方法,比如从phpmyadmin手动编辑每篇文章的menu\\u顺序。

结束