snipt

Ctrl+h for KB shortcuts

PHP

WordPress: query and loop code to add a single instance of a CPT above regular Page content. This code is ONLY to add the display of a single (random) CPT - after this comes the existing loop for the Page content.

// in this example we display a single CPT above the regular page content.
<?php query_posts( 'posts_per_page=1&post_type=customposttypename&orderby=rand'); ?>
// the posts from the CPT will rotate on page-load and display in a random order.

<?php /* The loop */ ?>
<div class="customposttypename-home">
<?php while ( have_posts() ) : the_post(); ?>
	<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
		<header class="entry-header">
			<?php if ( has_post_thumbnail() && ! post_password_required() ) : ?>
				<div class="entry-thumbnail">
					<?php the_post_thumbnail(); ?>
				</div>
			<?php endif; ?>

				<h1 class="entry-title"><?php the_title(); ?></h1>
					</header><!-- .entry-header -->

					<div class="entry-content">
						<?php the_content(); ?>
						<?php wp_link_pages( array( 'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentythirteen' ) . '</span>', 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>' ) ); ?>
					</div><!-- .entry-content -->

				</article><!-- #post -->

<?php endwhile; /* endif; */ ?>
<?php wp_reset_query(); ?>

// and then we begin the regular loop for the page.
https://snipt.net/embed/baf8b2b713722e7a44cf815b6085ec8c/
/raw/baf8b2b713722e7a44cf815b6085ec8c/
baf8b2b713722e7a44cf815b6085ec8c
php
PHP
29
2019-06-19T03:44:03
True
False
False
Jun 12, 2015 at 03:40 PM
/api/public/snipt/139827/
wordpress-query-and-loop-code-to-add-a-single-instance-of-a-cpt-above-regular-page-content-this-code-is-only-to-add-the-display-of-a-single-random-cpt-after-this-comes-the-existing-loop-for-the-page-content-13717f53
<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><a href="#L-1"> 1</a> <a href="#L-2"> 2</a> <a href="#L-3"> 3</a> <a href="#L-4"> 4</a> <a href="#L-5"> 5</a> <a href="#L-6"> 6</a> <a href="#L-7"> 7</a> <a href="#L-8"> 8</a> <a href="#L-9"> 9</a> <a href="#L-10">10</a> <a href="#L-11">11</a> <a href="#L-12">12</a> <a href="#L-13">13</a> <a href="#L-14">14</a> <a href="#L-15">15</a> <a href="#L-16">16</a> <a href="#L-17">17</a> <a href="#L-18">18</a> <a href="#L-19">19</a> <a href="#L-20">20</a> <a href="#L-21">21</a> <a href="#L-22">22</a> <a href="#L-23">23</a> <a href="#L-24">24</a> <a href="#L-25">25</a> <a href="#L-26">26</a> <a href="#L-27">27</a> <a href="#L-28">28</a> <a href="#L-29">29</a></pre></div></td><td class="code"><div class="highlight"><pre><span></span><span id="L-1"><a name="L-1"></a><span class="x">// in this example we display a single CPT above the regular page content.</span> </span><span id="L-2"><a name="L-2"></a><span class="cp">&lt;?php</span> <span class="nx">query_posts</span><span class="p">(</span> <span class="s1">&#39;posts_per_page=1&amp;post_type=customposttypename&amp;orderby=rand&#39;</span><span class="p">);</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-3"><a name="L-3"></a><span class="x">// the posts from the CPT will rotate on page-load and display in a random order.</span> </span><span id="L-4"><a name="L-4"></a> </span><span id="L-5"><a name="L-5"></a><span class="cp">&lt;?php</span> <span class="cm">/* The loop */</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-6"><a name="L-6"></a><span class="x">&lt;div class=&quot;customposttypename-home&quot;&gt;</span> </span><span id="L-7"><a name="L-7"></a><span class="cp">&lt;?php</span> <span class="k">while</span> <span class="p">(</span> <span class="nx">have_posts</span><span class="p">()</span> <span class="p">)</span> <span class="o">:</span> <span class="nx">the_post</span><span class="p">();</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-8"><a name="L-8"></a><span class="x"> &lt;article id=&quot;post-</span><span class="cp">&lt;?php</span> <span class="nx">the_ID</span><span class="p">();</span> <span class="cp">?&gt;</span><span class="x">&quot; </span><span class="cp">&lt;?php</span> <span class="nx">post_class</span><span class="p">();</span> <span class="cp">?&gt;</span><span class="x">&gt;</span> </span><span id="L-9"><a name="L-9"></a><span class="x"> &lt;header class=&quot;entry-header&quot;&gt;</span> </span><span id="L-10"><a name="L-10"></a><span class="x"> </span><span class="cp">&lt;?php</span> <span class="k">if</span> <span class="p">(</span> <span class="nx">has_post_thumbnail</span><span class="p">()</span> <span class="o">&amp;&amp;</span> <span class="o">!</span> <span class="nx">post_password_required</span><span class="p">()</span> <span class="p">)</span> <span class="o">:</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-11"><a name="L-11"></a><span class="x"> &lt;div class=&quot;entry-thumbnail&quot;&gt;</span> </span><span id="L-12"><a name="L-12"></a><span class="x"> </span><span class="cp">&lt;?php</span> <span class="nx">the_post_thumbnail</span><span class="p">();</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-13"><a name="L-13"></a><span class="x"> &lt;/div&gt;</span> </span><span id="L-14"><a name="L-14"></a><span class="x"> </span><span class="cp">&lt;?php</span> <span class="k">endif</span><span class="p">;</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-15"><a name="L-15"></a> </span><span id="L-16"><a name="L-16"></a><span class="x"> &lt;h1 class=&quot;entry-title&quot;&gt;</span><span class="cp">&lt;?php</span> <span class="nx">the_title</span><span class="p">();</span> <span class="cp">?&gt;</span><span class="x">&lt;/h1&gt;</span> </span><span id="L-17"><a name="L-17"></a><span class="x"> &lt;/header&gt;&lt;!-- .entry-header --&gt;</span> </span><span id="L-18"><a name="L-18"></a> </span><span id="L-19"><a name="L-19"></a><span class="x"> &lt;div class=&quot;entry-content&quot;&gt;</span> </span><span id="L-20"><a name="L-20"></a><span class="x"> </span><span class="cp">&lt;?php</span> <span class="nx">the_content</span><span class="p">();</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-21"><a name="L-21"></a><span class="x"> </span><span class="cp">&lt;?php</span> <span class="nx">wp_link_pages</span><span class="p">(</span> <span class="k">array</span><span class="p">(</span> <span class="s1">&#39;before&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;&lt;div class=&quot;page-links&quot;&gt;&lt;span class=&quot;page-links-title&quot;&gt;&#39;</span> <span class="o">.</span> <span class="nx">__</span><span class="p">(</span> <span class="s1">&#39;Pages:&#39;</span><span class="p">,</span> <span class="s1">&#39;twentythirteen&#39;</span> <span class="p">)</span> <span class="o">.</span> <span class="s1">&#39;&lt;/span&gt;&#39;</span><span class="p">,</span> <span class="s1">&#39;after&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;&lt;/div&gt;&#39;</span><span class="p">,</span> <span class="s1">&#39;link_before&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;&lt;span&gt;&#39;</span><span class="p">,</span> <span class="s1">&#39;link_after&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;&lt;/span&gt;&#39;</span> <span class="p">)</span> <span class="p">);</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-22"><a name="L-22"></a><span class="x"> &lt;/div&gt;&lt;!-- .entry-content --&gt;</span> </span><span id="L-23"><a name="L-23"></a> </span><span id="L-24"><a name="L-24"></a><span class="x"> &lt;/article&gt;&lt;!-- #post --&gt;</span> </span><span id="L-25"><a name="L-25"></a> </span><span id="L-26"><a name="L-26"></a><span class="cp">&lt;?php</span> <span class="k">endwhile</span><span class="p">;</span> <span class="cm">/* endif; */</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-27"><a name="L-27"></a><span class="cp">&lt;?php</span> <span class="nx">wp_reset_query</span><span class="p">();</span> <span class="cp">?&gt;</span><span class="x"></span> </span><span id="L-28"><a name="L-28"></a> </span><span id="L-29"><a name="L-29"></a><span class="x">// and then we begin the regular loop for the page.</span> </span></pre></div> </td></tr></table>
loop, query, wordpress