I'm going crazy here - I can't figure out why this doesn't work!
I have a wordpress template with multiple queries to show different post types.
I am able to do this no problem:
$showfeatposts = "1";
$args = array(
'numberposts' => $showfeatposts,
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'post',
'cat' => '58',
'post_status' => 'publish',
'suppress_filters' => true
);
Which passses the value of "1" into the 'numberposts' variable.
What I NEED to do is instead replace that value of "1" with a value passed from a custom field in the admin panel so that the administrator can enter the number of posts they want to show.
When I change my code instead to this:
$showarticleposts = the_field('articles-posts-to-show');
$args = array(
'numberposts' => $showarticleposts,
'orderby' => "post_date",
'order' => 'DESC',
'post_type' => 'post',
'cat' => '5, -58',
'post_status' => 'publish',
'suppress_filters' => true
);
I get all posts returned, as if the value being entered is '-1'
I've verified that the actual value in the custom field is '2' by enchoing it on the page.
What am I doing wrong? Surely this should be possible?
For reference: Here's the page.
ETA: I've also tried this method from an ACF tutorial - still doesn't work:
$args = array(
'numberposts' => get_field('showarticleposts'),
'orderby' => "post_date",
'order' => 'DESC',
'post_type' => 'post',
'cat' => '5, -58',
'post_status' => 'publish',
'suppress_filters' => true
ETA2: In response to the answer below - I have also tried this option:
$showarticleposts = get_field('showarticleposts');
$args = array(
'numberposts' => $showarticleposts,
'orderby' => "post_date",
'order' => 'DESC',
'post_type' => 'post',
'cat' => '5, -58',
'post_status' => 'publish',
'suppress_filters' => true
);
And if I put this code on the page - it does echo the number '2':
<?php echo get_field('showarticleposts'); ?>
Per request - here is the full page of code - I have tried to clean it up as much as possible - you will undoubtably notice the weird coding for the reports section, I am taking this over from someone who used Types to create the custom fields and custom post types. But I am using ACF custom fields for my attempt to add the ability to choose how many of each post-type to show on the homepage:
section id="content" role="main" class="clearfix animated">
<?php
/**
* If Featured Image is uploaded set it as a background
* and change page title color to white
**/
if ( has_post_thumbnail() ) {
$page_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'big-size' );
$page_bg_image = 'style="background-image:url(' . $page_image_url[0] . ');"';
$title_with_bg = 'title-with-bg';
} else {
$title_with_bg = 'wrapper title-with-sep';
} ?>
<!--<header class="entry-header page-header">
<div class="page-title <?php echo isset( $title_with_bg ) ? $title_with_bg : ''; ?>" <?php echo isset( $page_bg_image ) ? $page_bg_image : ''; ?>>
<div class="wrapper">
<h1 class="entry-title"><?php the_title(); ?></h1>
</div>
</div>
</header>-->
<div class="wrapper">
<div class="grids">
<div class="grid-8 column-1">
<?php
// Enable/Disable sidebar based on the field selection
if ( ! get_field( 'page_sidebar' ) || get_field( 'page_sidebar' ) == 'page_sidebar_on' ):
?>
<?php endif; ?>
<?php
if (have_posts()) : while (have_posts()) : the_post();
?>
<div class="page-content">
<?php the_content(); ?>
</div>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php $showfeatposts = "1";
$args = array(
'numberposts' => $showfeatposts,
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'post',
'cat' => '58',
'post_status' => 'publish',
'suppress_filters' => true
);
$featposts = get_posts( $args );
foreach( $featposts as $post ) : //setup_postdata($ppost);
setup_postdata( $post ); ?>
<div class="col-md-12 recent feat" id="recent">
<figure class="entry-image inview">
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail( 'rectangle-size-large' ); ?></a>
<?php } ?>
</figure>
<header class="entry-header">
<div class="entry-category">
<?php the_author_posts_link(); ?> / <?php the_time('F jS, Y'); ?> </div>
<h2 class="entry-title" itemprop="headline">
<a href="<?php echo get_permalink($post->ID); ?>"><?php echo $post->post_title; ?></a>
</h2>
</header>
<div class="entry-content">
<?php echo apply_filters("the_content", $post->the_excerpt) ; ?>
</div>
<div class="entry-category">
<span class="posted-on">By
<span class="author vcard"><?php the_author_posts_link(); ?></span></span>
</div>
</div>
<?php
$pnum++;
endforeach; ?>
</article>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="col-md-12 homehdr">
<header class="section-header">
<div class="title-with-sep">
<h2 class="title">Recent Articles</h2>
</div>
</header>
</div>
<?php $showarticleposts = "4";
$args = array(
'numberposts' => $showarticleposts,
'orderby' => "post_date",
'order' => 'DESC',
'post_type' => 'post',
'cat' => '5, -58',
'post_status' => 'publish',
'suppress_filters' => true
);
$artposts = get_posts( $args );
foreach( $artposts as $post ) : //setup_postdata($ppost);
setup_postdata( $post ); ?>
<div class="col-md-6 recent arts" id="arts">
<figure class="entry-image inview">
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail( 'rectangle-size' ); ?>
</a>
<?php } ?></figure>
<header class="entry-header">
<div class="entry-category">
<?php the_author_posts_link(); ?> / <?php the_time('F jS, Y'); ?></div>
<h2 class="entry-title" itemprop="headline">
<a href="<?php echo get_permalink($post->ID); ?>"><?php echo $post->post_title; ?></a>
</h2>
</header>
<div class="entry-content">
<?php if ($post->post_excerpt) the_excerpt(); else { ?>
<?php $content = apply_filters("the_content", $post->post_content);
$content = strip_tags($content);
echo substr($content, 0, 100); }
?></div>
<div class="entry-category">
<span class="posted-on">By
<span class="author vcard"><?php the_author_posts_link(); ?></span></span>
</div>
</div>
<?php
$pnum++;
endforeach; ?>
</article>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="col-md-12 homehdr">
<header class="section-header">
<div class="title-with-sep">
<h2 class="title">Recent Videos</h2>
</div>
</header>
</div>
<?php $showvideoposts = "2";
$args = array(
'numberposts' => $showvideoposts,
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'post',
'cat' => '3, -58',
'post_status' => 'publish',
'suppress_filters' => true
);
$vidposts = get_posts( $args );
foreach( $vidposts as $post ) : //setup_postdata($ppost);
setup_postdata( $post ); ?>
<div class="col-md-6 recent vids">
<?php $video_embed = wp_oembed_get( get_post_meta( $post->ID, 'add_video_url', true ) ); echo '<figure class="video-wrapper">' .$video_embed. '</figure>'; ?>
<header class="entry-header">
<div class="entry-category">
<?php the_author_posts_link(); ?> / <?php the_time('F jS, Y'); ?> </div>
<h2 class="entry-title" itemprop="headline">
<a href="<?php echo get_permalink($post->ID); ?>"><?php echo $post->post_title; ?></a>
</h2>
</header>
<div class="entry-content">
<?php echo $post->the_content; ?>
</div>
<div class="entry-category">
<span class="posted-on">By
<span class="author vcard"><?php the_author_posts_link(); ?></span></span>
</div>
</div>
<?php
$pnum++;
endforeach; ?>
</article>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="col-md-12 homehdr">
<header class="section-header">
<div class="title-with-sep">
<h2 class="title">Recent Notes</h2>
</div>
</header>
</div>
<?php
$shownoteposts = "2";
$args = array(
'numberposts' => $shownoteposts,
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'post',
'cat' => '42',
'post_status' => 'publish',
'suppress_filters' => true
);
$noteposts = get_posts( $args );
foreach( $noteposts as $post ) : //setup_postdata($ppost);
setup_postdata( $post ); ?>
<div class="col-md-6 recent notes">
<header class="entry-header">
<div class="entry-category">
<?php the_author_posts_link(); ?> / <?php the_time('F jS, Y'); ?>
</div>
<h2 class="entry-title" itemprop="headline">
<a href="<?php echo get_permalink($post->ID); ?>"><?php echo $post->post_title; ?></a>
</h2>
</header>
<div class="entry-content">
<?php echo apply_filters("the_excerpt", $post->the_excerpt) ; ?>
</div>
<div class="entry-category">
<span class="posted-on">By
<span class="author vcard"><?php the_author_posts_link(); ?></span></span>
</div>
</div>
<?php
$pnum++;
endforeach; ?>
</article>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="col-md-12 homehdr">
<header class="section-header">
<div class="title-with-sep">
<h2 class="title">Recent Reports</h2>
</div>
</header>
</div>
<?php
$showreports = get_field('showreports');
$args = array(
'numberposts' => $showreports,
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'reports',
'post_status' => 'publish',
'suppress_filters' => true
);
$reptposts = get_posts( $args );
foreach( $reptposts as $post ) : //setup_postdata($ppost);
setup_postdata( $post ); ?>
<div class="col-md-6 recent rpts">
<h2 class="report-title" itemprop="headline">
<a href="<?php echo get_permalink($post->ID); ?>">
<?php echo(types_render_field("first-name", array('raw' => true))); echo(" ");
echo(types_render_field("last-name", array('raw' => true))); ?></a>
</h2>
<p><strong>Posted by:</strong> <a href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>" class="url fn n" rel="author" itemprop="url">
<span itemprop="name"><?php the_author_meta('display_name'); ?>
</span></a> on <?php
$publish_date = '<time class="entry-date updated" datetime="' . get_the_time( 'c' ) . '" itemprop="datePublished">' . get_the_time( get_option( 'date_format' ) ) . '</time>'; echo $publish_date; ?><br />
<strong>Dates Seen:</strong>
<?php,$dates_seen = types_render_field("dates-seen", array('raw' => true)); echo($dates_seen); ?>
<br />
<strong>Affiliate:</strong>
<?php echo(types_render_field("milb", array('raw' => true)));
<br />
<strong>MLB Team</strong>
<?php echo(types_render_field("mlb-club", array('raw' => true))); ?>
</p>
</div>
<?php
$pnum++;
endforeach; ?>
</article>
<?php endwhile; endif; ?>
<?php
// Enable/Disable comments
if ( $ti_option['site_page_comments'] == 1 ) {
comments_template();
} ?>
<?php
// Enable/Disable sidebar based on the field selection
if ( ! get_field( 'page_sidebar' ) || get_field( 'page_sidebar' ) == 'page_sidebar_on' ): ?>
</div>
<?php get_sidebar(); ?>
</div><!-- .grids -->
<?php endif; ?>
</div>
</section><!-- #content -->
<?php get_footer(); ?>