为带有自定义字段的自定义帖子标题列表创建快捷代码

时间:2013-06-06 作者:Tracy Shorrock

我被难住了。我查看了各种网站,但没有找到我需要的确切代码。

基本上,我想创建一个自定义帖子标题列表,其中包含该帖子旁边某个自定义字段的日期。

最后,我将列出如下列表:

帖子标题1(带链接)。。。。。。相关自定义字段发布标题2(带链接)。。。。。。“自定义字段发布标题3(带链接)…”自定义字段

我希望能够通过一个简短的代码[船]将此添加到页面中。

我知道我的思路是正确的,但我已经将两位代码散列在一起了。我不知道如何将数组从php脚本(以$args=array开头的位)拉入extract(short code\\u atts。。。

我也不确定

</div>
<?php }
wp_reset_query();
}
这是目前为止的混乱。。。

add_shortcode(\'boats\', \'shortcode_boats\');
function shortcode_boats($atts){

extract(shortcode_atts

$args=array(
  \'post_type\' => \'yacht-for-sale\',
  \'post_status\' => \'publish\',
  \'posts_per_page\' => 15,
  \'caller_get_posts\'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {  ?>
 <h3>List of Available Yachts &amp; Catamarans</h3>
 <div id="boatlist">
  <?php
  while ($my_query->have_posts()) : $my_query->the_post();
    $price = get_post_meta($post->ID, \'price\', true); ?>
    <p class="boatrow"><span class="s-left"><?php the_title(); ?></span><span class="s-right"><?php echo $price; ?></span></p>
  <?php endwhile; ?>
  </div>
<?php }
wp_reset_query();
}
add_shortcode("boats", "shortcode_boats");
为了以防万一,我目前正在页面中使用Bill Erickson的“Display Posts Shortcode”插件,但我需要自定义字段“price”与其对齐。

[display posts post\\u type=“yacht for sale”order=“DSC”orderby=“title”posts\\u per\\u page=“20”]

谢谢你在这方面给我的任何帮助。我不是一个伟大的php程序员。。。正如你可能知道的那样。:)

干杯

特蕾西

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

尝试以下代码:(我还没有对其进行测试,因此这里和那里可能没有什么东西,但您可以了解总体思路):

add_shortcode(\'boats\', \'shortcode_boats\');
function shortcode_boats($atts){
    //merge the passed attributes with defaults
    extract(
        shortcode_atts(
            array(
                \'post_type\'         => \'yacht-for-sale\',
                \'post_status\'       => \'publish\',
                \'posts_per_page\'    => 15,
                \'caller_get_posts\'  => 1 //i am not sure what you are doing with this value
            ),
            $atts
        )
    );

    //now create a seprate agruments array for wp_query using the values from above(extracted variables)
    $args = array(
        \'post_type\'         => $post_type,
        \'post_status\'       => $post_status,
        \'posts_per_page\'    => $posts_per_page
    );

    ob_start();

    $my_query = new WP_Query( $args );
    if( $my_query->have_posts() ) {
        ?>
        <h3>List of Available Yachts &amp; Catamarans</h3>
        <div id="boatlist">
            <?php
            while ($my_query->have_posts()) : $my_query->the_post();
                $price = get_post_meta( get_the_ID(), \'price\', true); ?>
                <p class="boatrow">
                    <span class="s-left"><?php the_title(); ?></span>
                    <?php if( isset( $price ) ) : ?>
                        <span class="s-right"><?php echo $price; ?></span>
                    <?php endif;?>
                </p>
            <?php endwhile; ?>
        </div>
        <?php 
    }
    wp_reset_query();//reset the global variable related to post loop
    $retVal = ob_get_contents();
    ob_end_clean();

    return $retVal;
}

SO网友:ABCDiamond

你看过列表类帖子插件了吗。

http://wordpress.org/plugins/list-category-posts/other_notes/

一段时间以来,我一直做得很好,我相信这是值得一看的。尤其是这段话:

自定义字段-要使用自定义字段,必须指定两个值:customfield\\u name和customfield\\u value。使用此选项仅显示包含具有此名称和值的自定义字段的帖子。必须同时定义这两个参数,否则两者都不起作用。

customfield\\u display-显示自定义字段。可以指定要显示的多个字段,并用coma分隔这些字段。

结束

相关推荐

将文本添加到wp_list_ategories中的每个列表项的末尾

我还没有找到我要找的东西,也不知道如何找到它。我正在使用wp_list_categories 列出分类法的术语。我想在每个项目的末尾添加一些文本。例如:taxonomy\\u term some\\u new\\u text而不是taxonomy\\u term这是基本的wp_list_categories 我正在使用:<?php wp_list_categories(array( \'taxonomy\' => \'locations\',