Last active
April 14, 2022 12:32
-
-
Save matthiaspabst/08dbb683942eb790c4d8f35c367e94ac to your computer and use it in GitHub Desktop.
Twenty Fifteen - Custom 404 page for a custom post type
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* The template for displaying 404 pages (not found) | |
* | |
* @package WordPress | |
* @subpackage Twenty_Fifteen | |
* @since Twenty Fifteen 1.0 | |
*/ | |
get_header(); ?> | |
<div id="primary" class="content-area"> | |
<main id="main" class="site-main" role="main"> | |
<?php $post_type_var = get_query_var('post_type'); // Get the custom post type ?> | |
<?php if ( $post_type_var == 'projekt' ) : // Check if we come from the custom post type "projekt" ?> | |
<section class="error-404 not-found"> | |
<header class="page-header"> | |
<h1 class="page-title"><?php esc_html_e( 'Oops! That project can’t be found.', 'twentyfifteen-child' ); ?></h1> | |
</header><!-- .page-header --> | |
<div class="page-content"> | |
<p><?php esc_html_e( 'It looks like the project you were looking for could not be found at this location. Maybe try a search?', 'twentyfifteen-child' ); ?></p> | |
<?php get_search_form(); ?> | |
<h2><?php esc_html_e( 'Latest Projects', 'twentyfifteen-child' ); ?></h2> | |
<?php | |
//args | |
$args = array( | |
'post_type' => 'projekt', | |
'posts_per_page' => 3 | |
); | |
// the query | |
$project_query = new WP_Query( $args ); ?> | |
<?php if ( $project_query->have_posts() ) : ?> | |
<ul class="latest-projects"> | |
<?php while ( $project_query->have_posts() ) : $project_query->the_post(); ?> | |
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li> | |
<?php endwhile; ?> | |
</ul> | |
<?php wp_reset_postdata(); ?> | |
<?php else: ?> | |
<p><?php esc_html_e( 'Sorry, no posts matched your criteria.', 'twentyfifteen-child' ); ?></p> | |
<?php endif; ?> | |
</div><!-- .page-content --> | |
</section><!-- .error-404 --> | |
<?php else : // All other post types like post and page get the normal 404 content ?> | |
<section class="error-404 not-found"> | |
<header class="page-header"> | |
<h1 class="page-title"><?php esc_html_e( 'Oops! That page can’t be found.', 'twentyfifteen-child' ); ?></h1> | |
</header><!-- .page-header --> | |
<div class="page-content"> | |
<p><?php esc_html_e( 'It looks like nothing was found at this location. Maybe try a search?', 'twentyfifteen-child' ); ?></p> | |
<?php get_search_form(); ?> | |
</div><!-- .page-content --> | |
</section><!-- .error-404 --> | |
<?php endif; ?> | |
</main><!-- .site-main --> | |
</div><!-- .content-area --> | |
<?php get_footer(); ?> |
What is the operation of this code? show a different text if it is a custom pos type? @matthiaspabst
Yes, and it works.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What is the operation of this code? show a different text if it is a custom pos type? @matthiaspabst