I want to get the data from WordPress DB, pushed them into array and past the data to JS.
Got it all working except pushing the data into array in foreach ($posts as $post).
Full method:
$array = array();
$category_name = "locations";
$args = array(
'numberposts' => -1,
'category_name' => $category_name
);
$posts = get_posts($args);
foreach ($posts as $post){
array_push( $array, array(
"title" => the_title($post->ID),
"cnt" => the_content($post->ID),
"id" => the_ID($post->ID),
"link" => the_permalink($post->ID)
));
}
When I do print_r($array) i get a following mix:
Post 39http://localhost:8080/testing/post-3/Post 27http://localhost:8080/testing/post-2/Post 15http://localhost:8080/testing/post-1/Array
(
[0] => Array
(
[title] =>
[cnt] =>
[id] =>
[link] =>
)
[1] => Array
(
[title] =>
[cnt] =>
[id] =>
[link] =>
)
[2] => Array
(
[title] =>
[cnt] =>
[id] =>
[link] =>
)
)
What is going on? Why is the data not placed correctly into the array?
Any suggestions much appreciated.
Those template tags need to have their echo variable set to false to work in that context. They also don’t take post ID as a variable, they assume the current post if postdata is setup. Try:
https://codex.wordpress.org/Function_Reference/the_title
-~ -~ -~ -~ -~ -~ -~ -~ CLARIFICATION EDIT -~ -~ -~ -~ -~ -~ -~ -~
The tidiest solution to this problem was actually to directly address the wp
$postobject. So for the title string$post->post_titleand for the content$post->post_contentThe fields available in the
$postobject are listed here:http://codex.wordpress.org/Function_Reference/get_post#Return