Created
August 20, 2012 10:15
-
-
Save reesmcivor/3402856 to your computer and use it in GitHub Desktop.
wordpress_json_posts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// include our wordpress functions | |
// change relative path to find your WP dir | |
define('WP_USE_THEMES', false); | |
require('./wp-blog-header.php'); | |
// set header for json mime type | |
header('Content-type: application/json;'); | |
// get latest single post | |
// exclude a category (#5) | |
query_posts(array( | |
'posts_per_page' => 5, | |
'cat' => -5, | |
)); | |
$jsonpost = array(); | |
if (have_posts()) { | |
if ( have_posts() ) : while ( have_posts() ) : the_post(); | |
// construct our array for json | |
// apply_filters to content to process shortcodes, etc | |
$jsonpost["id"] = get_the_ID(); | |
$jsonpost["title"] = get_the_title(); | |
$jsonpost["url"] = apply_filters('the_permalink', get_permalink()); | |
// $jsonpost["content"] = apply_filters('the_content', get_the_content()); | |
$images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) ); | |
if ( $images ) { | |
$total_images = count( $images ); | |
$image = array_shift( $images ); | |
$jsonpost['featured_image'] = wp_get_attachment_image( $image->ID, 'thumbnail' ); | |
} | |
$jsonpost["content"] = get_the_content(); | |
// would rather do iso 8601, but not supported in gwt (yet) | |
$jsonpost["date"] = get_the_time('d F Y'); | |
$jsonposts[] = $jsonpost; | |
endwhile; | |
endif; | |
} else { | |
// deal with no posts returned | |
} | |
// output json to file | |
header('Cache-Control: no-cache, must-revalidate'); | |
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); | |
header('Content-type: application/json'); | |
echo json_encode($jsonposts); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment