I use WP plugin “Custom Post Type UI” and a template of my own to add some content to my wp page.
<div id="AboutMain">
<?php
/* the original page contents */
while (have_posts()) {
the_post();
get_template_part('content', 'page');
/* New set of data fetched from my custom post types */
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'styrelse'
));
if($posts)
{
foreach($posts as $post)
{
$namn=get_the_title($post->ID);
$desc=get_the_content($post->ID);
echo "
<div class='styrelsen art-postcontent'>
<h5 class='art-postcontent'>$namn</h5>
<p>$desc</p>
</div>
";
}
}
Now I get a really strange behavior – since I have set the $posts with a custom query, in the for-each loop it should not contain the basic page contents anymore but my custom post type content right?
But the get_the_content($post->ID); fetches me the original contents of the page, and repeats it over and over while the get_the_title($post->ID); retrievs for me the correct title.
******** solved *************‘
OK, here’s how I did it.
first I realized that using that global variable name might not be the best idéa so I changed it to $board_posts.
Then I dumped that variable to find out how to access the title and body ‘manually’ and it turns out it was easier than I first thought.
foreach($styrelse_posts as $post)
{
$namn = $post->post_title;
$desc = $post->post_content;
trial and error beats most issues =)
Using
$postas a variable can cause some weird behavior because of how WordPress uses that as a global variable. I’d suggest trying either callingsetup_postdata($post)beforeget_the_title($post->ID), or maybe changing the foreach toforeach($posts as $p)and using$p->IDas the argument.