2010-07-21 2 views
2

Comment créer une page dans WordPress par programmation si elle n'existe pas déjà?Comment créer une page dans WordPress par programmation si elle n'existe pas déjà?

+0

Vous voulez dire que vous n'avez jamais eu d'erreur 404 sur votre blog/site web wordpress? –

+0

Je ne comprends pas vraiment votre question. Si vous voulez créer une nouvelle page, c'est le menu "Page" du panneau d'administration WordPress. Si vous voulez rediriger l'utilisateur s'il tente d'accéder à une page qui n'existe pas, vous devez créer une règle de redirection dans la configuration de votre serveur web (Apache, Nginx, Lighttpd, etc.) –

+0

Je veux écrire un plugin et de mettre des contrôles html dans une page qui créera automatiquement lorsque l'utilisateur installer le plug in. – shin

Répondre

6

Je veux écrire un plug-in et de mettre certains contrôles HTML dans une page qui permettra de créer automatiquement lorsque l'utilisateur installer le plug-in

Sur la base de ce commentaire, vous voulez accrocher une fonction à votre le hook d'activation du plugin, qui insère un objet post WordPress dans la base de données;

function my_plugin_activate() 
{ 
    wp_insert_post(array(
     'post_type' => 'page', 
     'post_title' => 'Page Title', 
     'post_content' => 'Page Content', 
     'post_name' => 'page-slug', 
    )); 
} 
register_activation_hook(__FILE__, 'my_plugin_activate'); 
+0

Merci ..... Il travaille .... .. – shin

0

Vous pouvez implémenter une fonction qui intercepte l'action/filtre template_redirect, et à l'intérieur de cette fonction inclure l'en-tête et le pied de page du thème, tout en créant votre propre contenu à mettre dans le corps de la page. Voir le lien API (ci-dessus) pour un exemple. Il s'agit d'un tutorial sur le Web.

3

Comment allez-vous identifier cela page? En supposant que vous avez un titre spécifique, utilisez quelque chose comme

if(get_page_by_title('my_title') === false) // page doesn't exist 
{ 
    // insert the page using wp_insert_post 
} 

Si vous avez besoin d'aide avec wp_insert_post, s'il vous plaît commentaire.

+1

Devrait être: get_page_by_title ('my_title') === NULL –

Questions connexes