2013-10-11 4 views
0

Je travaille sur la construction de mon premier plugin wordpress et semble être coincé sur quelque chose.Comment ajouter une nouvelle (vide) page d'un site wordpress avec un plugin

Je besoin du plug-in, lorsqu'il est activé, pour créer une nouvelle page en utilisant les mêmes styles que le reste du site; ainsi que l'ajout d'un chemin personnalisable (/ c'est le chemin) au lien.

J'ai fait des recherches comment faire et et ont obtenu un fichier .php vierge à apparaître ... en utilisant ce code:

//Template fallback 
add_action("template_redirect", 'my_theme_redirect'); 

function my_theme_redirect() { 
    global $wpdb; 
    $plugindir = dirname(__FILE__); 

    //A Simple Page 
    if ($wp->query_vars[ "pagename" ] == 'event-photo-uploadr') { 
     $templatefilename = 'custom-uplaodr-page.php'; 
     if (file_exists(TEMPLATEPATH . '/' . $templatefilename)) { 
      $return_template = TEMPLATEPATH . '/' . $templatefilename; 
     } else { 
      $return_template = $plugindir . '/themefiles/' . $templatefilename; 
     } 
     do_theme_redirect($return_template); 
    } 
} 

function do_theme_redirect($url) { 
    global $post, $wp_query; 
    if (have_posts()) { 
     include($url); 
     die(); 
    } else { 
     $wp_query->is_404 = true; 
    } 
} 

Ce que j'ai besoin de savoir maintenant, comment pourrais-je remplacer ce fichier .php avec celui qui est dans mon dossier plugin? Je me demande aussi comment faire un lien personnalisé pour cette page il doit être une page cachée que pour ceux qui ont le lien.

doivent tous être exécutés par le plug-in ainsi que faire retirer lorsque le plug-in est désactivé.

Je voudrais aussi entendre des conseils sur les meilleures pratiques et des améliorations sur mon code. Merci!

+1

Ceci est hors sujet, car il est « demander le code », s'il vous plaît [lire la liste de contrôle de la question] (http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist). Quoi qu'il en soit, il est clair pas ce que vous voulez ... Je soupçonne que c'est quelque chose [comme ça] (https://github.com/tommcfarlin/page-template-example/). La recherche dans le [** '' **] balise (http://wordpress.stackexchange.com/questions/tagged/plugin-development?sort=votes&pageSize=50) à [wordpress.se], beaucoup de bonne matière là-bas. – brasofilo

Répondre

0

utilisation du add_action

add_action ('template_redirect', 'nom de la fonction');

puis créer une fonction pour charger et utiliser un besoin de cette volonté sur votre thème actuel wright. vous devrez alors ajouter le filtre dans votre fonction.

add_action('template_redirect', 'loadTheme'); 

function laodTheme() { 
if (is_page('page')){ 
global $post, $wp_query; 
    if (have_posts()) { 
     require($url); 
     die(); 
    } else { 
     $wp_query->is_404 = true; 
    } 
} 
} 

ce qui devrait rediriger votre thème en allant à la page « page » vous pouvez changer votre état à votre besoin. je pense que c'est ce que vous demandez.

que pour des liens personnalisés peuvent être initialisés dans les fichiers de votre thème personnalisé.

Questions connexes