sql >> Databáze >  >> Database Tools >> phpMyAdmin

Wordpress šablona:Objekt nenalezen

Stalo se to proto, že takto šablony ve WordPressu nefungují. Nevytváříte konkrétní soubor pro každou stránku na vašem webu. Vytvoříte stránky a pak jim přiřadíte šablony a necháte WordPress, aby zjistil, jak k těmto stránkám přistupovat a vytvářet k nim přístupy. Pokus o přímý přístup k jednomu z těchto souborů povede k 404, protože WordPress kvůli skutečnosti, že stránka (ve wp land) s tímto názvem neexistuje.

Skutečnost, že to udělalo fungovat, když jste zkusili přejít přímo do index.php je to proto, že v hierarchii šablon , index.php je posledním souborem, který WP hledá při hledání šablony, ze které se má zobrazit vaše stránka. Protože tento soubor musíte mít v každém motivu, byl nalezen, a tudíž žádné 404.

Existuje něco, čemu se říká permalinks což vám umožňuje vytvářet přátelské adresy URL na vaše stránky beze změny názvů v souborech šablon. To by nebylo možné, pokud by vaše adresy URL byly přímo připojeny k názvům souborů.

WordPress Theme Handbook má docela úhledný článek na šablony stránek a kodex vám může dát nějaké rady, jak s nimi začít. Smashing Magazine má úžasný článek napsaný Nickem Schäferhoffem, který poskytuje podrobné pokyny, jak vytvořit šablonu stránky.

Stručně řečeno, šablona stránky převzatá z tématu WordPress Twentyfourteen funguje nějak takto

<?php
/**
 * Template Name: Full Width Page
 *
 * @package WordPress
 * @subpackage Twenty_Fourteen
 * @since Twenty Fourteen 1.0
 */

get_header(); ?>

<div id="main-content" class="main-content">

<?php
    if ( is_front_page() && twentyfourteen_has_featured_posts() ) {
        // Include the featured content template.
        get_template_part( 'featured-content' );
    }
?>

    <div id="primary" class="content-area">
        <div id="content" class="site-content" role="main">
            <?php
                // Start the Loop.
                while ( have_posts() ) : the_post();

                    // Include the page content template.
                    get_template_part( 'content', 'page' );

                    // If comments are open or we have at least one comment, load up the comment template.
                    if ( comments_open() || get_comments_number() ) {
                        comments_template();
                    }
                endwhile;
            ?>
        </div><!-- #content -->
    </div><!-- #primary -->
</div><!-- #main-content -->

<?php
get_sidebar();
get_footer();

Zajímavá je část komentáře Template Name: Full Width Page dělá tuto šablonu globální, což znamená, že k ní lze přistupovat kdekoli na vašem webu (další podrobnosti o hierarchii naleznete v dokumentaci). Jakmile budete mít něco takového ve své šabloně, vytvořte stránku a poté k ní přiřaďte svou šablonu. Měli byste být zlatí!

UPRAVIT:

Ještě včas, podívejte se na tuto úžasnou infografiku který ukazuje, jak funguje šablonování ve WP landu a jak se každá stránka nakonec vykreslí do index.php , pokud není nalezen žádný jiný soubor šablony.




  1. Instance EC2 přestala fungovat po vytvoření obrázku

  2. phpmyadmin chyba importu paměti

  3. Jak se připojit ke vzdálené databázi přes SSH tunel v pgAdmin4 a DBeaver

  4. Spouštění SQL dotazů na databázi pomocí phpMyAdmin