An array of latest wp_titles

时间:2014-08-21 作者:Claudiu Creanga

我想用数组中的\\u title()获取最新的标题,以便在javascript函数中循环使用它们。

如何创建此阵列?

非常感谢!

3 个回复
SO网友:Kumar

您可以使用WordPress功能wp_get_recent_posts(), 具有必需的参数。

$output = array();

$args = array(
\'numberposts\' => 10,
\'offset\' => 0,
\'category\' => 0,
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'include\' => ,
\'exclude\' => ,
\'meta_key\' => ,
\'meta_value\' =>,
\'post_type\' => \'post\',
\'post_status\' => \'draft, publish, future, pending, private\',
\'suppress_filters\' => true );

$recent_posts = wp_get_recent_posts( $args, ARRAY_A );
foreach( $recent_posts as $post ) {
   $output[$post["ID"]][\'title\'] = $post["post_title"];
   $output[$post["ID"]][\'title\'] = get_permalink($post["ID"]);

}
add_action(\'wp_head\', \'wpse158654_recent_posts\');
function wpse158654_recent_posts() {?>
  <script type="text/javavscript">
   var recent_posts = <?php json_encode( $output ); ?>;
  </script>
}
或者您可以使用wp_localize_script() 函数打印所需js的变量。

I haven\'t tested the code, be careful if you are using it on live site directly.

SO网友:Geert

使用wp_localize_script() 这是在页面中插入JavaScript变量的干净解决方案。

// Attaching to the wp_enqueue_scripts hook because of wp_localize_script()
add_action( \'wp_enqueue_scripts\', \'wpse158654_js_post_titles\' );

function wpse158654_js_post_titles() {
    $args = array(
        \'posts_per_page\' => 3, // Number of posts to pick up
    );

    $wp_query = new WP_Query( $args );
    $post_titles = array();

    while ( $wp_query->have_posts() ) {
        $wp_query->the_post();
        $post_titles[] = get_the_title();
    }

    // Inject a JavaScript variable into the document
    // Note: you may want to change the script handle (first argument)
    wp_localize_script( \'jquery\', \'post_titles\', $post_titles );
}
这应该是JavaScript变量,在本例中包含jQuery后立即弹出(取决于使用的脚本句柄)。

<script type=\'text/javascript\'>
/* <![CDATA[ */
var post_titles = ["Title 1","Title 2","Title 3"];
/* ]]> */
</script>

SO网友:Tomás Cot

你可以使用get_posts 获取posts objects, 默认情况下,它返回最新的帖子。

您应该迭代数组并对标题执行所需的操作。

结束

相关推荐

Setting pages for posts

这是我的json rest api函数。调用时,它会返回24条帖子,但总数要多得多。如何分页响应,以便使用以下内容更改页面?page=2 添加到curl请求路由。public function posts(){ $args = array( \'posts_per_page\' => 24, \'offset\' => 0, \'meta_key\' => $met