如何创建此PHP代码的短码

时间:2014-02-24 作者:Hardeep Asrani

我尝试了很多,但未能创建此PHP代码段的短代码:

<ul>
<?php
$my_query = new WP_Query(\'post_status=future&order=DESC&showposts=10\');
if ($my_query->have_posts()) {
    while ($my_query->have_posts()) : $my_query->the_post();

        $do_not_duplicate = $post->ID; ?>

        <li><?php the_title(); ?></li>

    <?php endwhile;
}
?>
</ul>
你能告诉我怎么做吗&;还解释如何将PHP代码放入短代码中。不需要解释基本代码,因为我知道如何创建短代码。

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

这样就可以了。。

   function future_posts_function($atts){
    extract(shortcode_atts(array(
        \'poststatus\' => \'future\',
        \'order\'         => \'DESC\',
        \'showposts\' => 10,
    ), $atts));

    $return_string = \'<ul>\';
    query_posts(array(\'post_status\' => $poststatus, \'order\' => $order, \'showposts\' => $showposts));
    if (have_posts()) :
        while (have_posts()) : the_post();
            $return_string .= \'<li>\'.get_the_title().\'</li>\';
        endwhile;
    endif;
    $return_string .= \'</ul>\';

    wp_reset_query();
    return $return_string;
}
add_shortcode(\'future_posts\', \'future_posts_function\');

结束

相关推荐

是否从已迁移到IIS的WP 8.0安装中删除index.php(仍在检测Apache服务器)?

我在工作中使用WAMP开发这个WP站点,现在突然我们将其切换到Windows服务器(2003)上。从wp admin中的Permalinks设置页面可以看出,它仍然认为它仍在Apache上运行,因为它为我提供了.htaccess 而不是web.config 文件因此,我尝试了在web上找到的所有修复程序,其中一些针对Windows/IIS上的WP的修复程序仍然存在.htaccess 修复,我不理解,因为IIS/Win不使用.htaccess. 我找到了一个解决方案。htaccess似乎有PHP-ISAPI