404 Page for WordPress with Suggestions

4
Published in: PHP - WordPress

If a visitor mistypes a URL to your WordPress blog or clicks on a link that does not exists, you can show them a more helpful 404 error page that will have suggestions pointing to related articles that they can check out on your WordPress site. Internally, it runs a search using the 404 page URL as the query parameter.

Save this file as 404.php and place it in your WordPress theme folder.

<?php get_header(); ?>

<div id="content" class="section">

    <h2>404 Error - Page not found</h2>

    <?php get_template_part('searchform'); ?>

    <?php
        global $wp_query;
        $wp_query->query_vars['is_search'] = true;
        $s = str_replace("-", " ", $wp_query->query_vars['name']);
        $loop = new WP_Query('post_type=any&s=' . $s);
    ?>

    <?php if ($loop->have_posts()): ?>
        <p>We tried finding the matching pages from our website. Here are some suggestions:</p>
            <ol>
                <?php while ($loop->have_posts()): $loop->the_post(); ?>
                    <li>
                        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                        <?php the_excerpt(); ?>
                    </li>
                <?php endwhile; ?>
            </ol>
    <?php endif; ?>

</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>
Published in: PHP - WordPress

Looking for something? Find here!

Meet the Author

Web Geek, Tech Columnist
A
Amit Agarwal

Amit Agarwal is a Google Developer Expert in GSuite and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India. Read more on Lifehacker and YourStory

Get in touch