 <p>When using <code>get_template_part</code>, the first parameter defines the base template name (e.g. <code>content</code>, which loads <code>content.php</code>) and the second parameter loads a suffixed version if available. Therefore your call</p> <pre><code>get_template_part('content', 'single-ourNews'); </code></pre> <p>is looking for a file named <code>content-single-ourNews.php</code> first, then falls back to <code>content.php</code> in case the first one is not available. I'm not sure whether the <code>get_template_part</code> function converts the suffix parameter to something like <code>single-ournews</code> or <code>single-our-news</code> before appending it to the first parameter, be sure to test a few variants of that.</p> <p>I'm not 100% sure if the function behaves differently or not in child themes and parent themes. One option is to override the parent's <code>single.php</code> in the child theme and modify it directly with </p> <pre><code>if ($post-&gt;post-type === 'ourNews') { get_template_part('content', 'single-ourNews'); } else { get_template_part('content'); } </code></pre> <p>Lastly, WordPress will look for a file <code>single-[cptslug].php</code> before loading a template for a custom post type's single view.</p>