2009-07-21 8 views
1

J'ai essayé d'ajouter un fichier frontpage.php au répertoire de contenu, mais cela n'a pas été chargé. Maintenant, j'ai ajouté l'extrait ci-dessous pour assurer que je reçois un contexte de « frontpage »:Comment créer un modèle de page de WordPress dans le thème du blog de Carrington?

add_filter('cfct_context', 'scompt_front_page_context'); 

function scompt_front_page_context($context) { 
    if(is_front_page()) 
     return 'frontpage'; 
    return $context; 
} 

qui me permet de créer un fichier frontpage.php dans le répertoire de la boucle, mais je suis toujours incapable d'obtenir pour utiliser mon fichier pour le contenu.

Répondre

1

Pas exaclty sûr de ce que vous essayez de faire, mais pour utiliser un modèle de page dans Wordpress, vous devez avoir ceci au début du fichier:

<?php 
/* 
Template Name: mypage 
*/ 
?> 

et qui va avant

<?php get_header(); ?> 

Et pour que Wordpress utilise le modèle, vous devez le sélectionner dans la zone d'édition de la page dans admin. Donc, pour une "page d'accueil", utilisez un modèle nommé home.php - avec le nom du modèle comme ci-dessus - et sélectionnez-le comme modèle à utiliser dans l'éditeur de page.

0

Le fichier index.php est utilisé sur la première page de votre blog wordpress. Modifiez (ou créez) le fichier index.php pour apporter des modifications à la page d'accueil de votre blog.

1

vous avez besoin de deux pages pour que cela fonctionne.

  1. page_example.php (faire newfile dans le même répertoire que page.php)

  2. pages/page_example.php (copier et renommer page_default.php)

page_example.php doit avoir cette entête seulement

<?php 
/* 
Template Name: Page example 
*/ 

if (__FILE__ == $_SERVER['SCRIPT_FILENAME']) { die(); } 
if (CFCT_DEBUG) { cfct_banner(__FILE__); } 

cfct_page('page_example'); 

?> 

et

pages/page_example.php est la page qu'il appelle donc vraiment tous vos changements doivent être ici. soit enlever la barre latérale, get_sidebar();

sélectionnez maintenant cette page comme d'habitude lorsque vous créez une page.

0

Le nom correct du fichier nécessaire pour remplacer le modèle de la première page est frontpage.php pas frontpage.php

0

Ceci est en fait un problème dans le fichier utility.php (dans le noyau de Carrington). Il y a une fonction qui lui indique comment obtenir/déterminer le contenu pour une situation donnée. Le code ressemble à ceci (autour de la ligne 500):

function swpt_choose_content_template($type = 'content') { 
$files = swpt_files(swpt_PATH.$type); 
$filename = swpt_choose_single_template($files); 
if (!$filename && swpt_context() == 'page' && file_exists(swpt_PATH.$type.'/page.php')) { 
    $filename = 'page.php'; 
} 

if (!$filename) { 
    $filename = swpt_default_file($type); 
} 
return apply_filters('swpt_choose_content_template', $filename, $type); 

}

Vous devez ajouter un autre cas là-bas pour avoir vérifier le chemin du modèle de contenu de première page ... ce serait le code (Dans cet exemple, la première page est "en première page".php "):

//checks to see if this is the front page content - this fixes the error of the framework choosing the default content rather than the front page content 
if (!$filename && swpt_context() == 'front-page' && file_exists(swpt_PATH.$type.'/front-page.php')) { 
    $filename = 'front-page.php'; 
} 

J'ai ajouté que juste au-dessus du cas par défaut, et instantanément résolu le problème de Carrington appelant le contenu par défaut plutôt que le modèle de contenu de la page avant

.
Questions connexes