2010-08-17 5 views
0

Je migration actuellement mon site web HTML dans un thème WordPress et ont la question suivante:.load de jQuery() Fonction et WordPress

Mon site actuel HTML permet d'utiliser pleinement la fonction de .load() jQuery, par où Je change le contenu de la page (via un DIV), en utilisant .load() en fonction des options de mon menu latéral sélectionnées par l'utilisateur.

Par exemple:

Code HTML:

<div id="sidebar"> 
     <ul id="themenu" class="sf-menu sf-vertical"> 
      <li><a href="index.html" class="topm currentMenu nosub">Home</a></li> 
      <li><a href="about-us.html" class="topm nosub">About Us</a></li> 
     </ul> 
</div> 

code jQuery:

$("#themenu li a, #subcat li a").click(function(){ 
     var toLoadCF = $(this).attr("href")+" #contentfooter"; 

     $('#contentfooter').fadeIn("slow",loadContent); 

     function loadContent() { 
      $("#contentfooter").load(toLoadCF); 
     } 
     return false; 
    }); 

utilisant donc cela comme une situation HTML, l'utilisateur clique sur l'option de menu "A propos de nous" , qui à son tour chargerait le fichier "about-us.html" basé sur un tag href pour About Us. Maintenant dans le monde WordPress, j'ai créé un modèle de page personnalisé pour About Us appelé "about-us.php" qui est lié à une page de tableau de bord de WP Admin appelée "aboutus" (permalink), donc ma valeur href est "url/aboutus /"

Sur cette base, comment puis-je obtenir le même résultat dans WordPress pour émuler mon code HTML en utilisant jQuery .load? Veuillez noter que j'ai ajouté toutes les informations nécessaires dans mes fichiers header.php, index.php et sidebar.php.

Je suis juste pas sûr comment référencer le fichier href, de sorte que mon volte-us.php fichier est chargé à l'aide de .load jQuery()

quelqu'un

Hope peut aider comme je ne suis pas trop sûr de savoir comment pour aborder cela d'un point de vue WordPress.

Merci.

+0

Salut. Quelqu'un peut-il aider. Merci. – tonyf

Répondre

1

Tout d'abord j'irais rendre le site entièrement fonctionnel SANS le chargement javascript. Cela vous permettra d'obtenir la navigation et la mise en page de votre site avant d'avoir envie de vous lancer dans l'aventure et de fournir une solution de repli pour les robots d'exploration et pour la casse de votre JS.

Ensuite, créez un sous-ensemble de modèles ou modifiez vos modèles existants pour qu'ils réagissent à une variable GET dans l'URL afin d'exclure tout sauf la zone de contenu principale du modèle. Pour la charge Ajax vous n'aurez pas besoin de choses comme l'en-tête, le pied et la barre latérale.

Ensuite, j'utiliserais jQuery pour récupérer les liens de navigation, cliquez sur les événements, modifiez l'URI de la requête pour mettre une variable GET, puis faites la demande en utilisant .load(). Un avantage secondaire de ceci est lorsque vous activez la mise en cache (oui, vous voulez exécuter votre site avec la mise en cache, son wordpress, loin de "léger") vos pages demandées Ajax seront également mises en cache pour des temps de chargement plus courts moins d'utilisation des ressources.

Je suppose que vous l'avez déjà fait, vous savez comment gérer la liaison d'action jQuery, l'analyse des requêtes et des réponses.

+0

Salut Gipetto, j'apprécie vraiment votre aide à ce sujet et j'ai réussi à obtenir mon .load() jQuery travaillant pour mon côté html des choses mais désolé, je ne comprends pas d'où vous venez en ce qui concerne un var GET dans le URL ainsi que comment gérer la liaison d'action jQuery, l'analyse des requêtes et des réponses. Je ne l'ai pas fait auparavant. Si possible Gipetto, pourriez-vous donner un exemple expliquant ce que vous avez suggéré - l'apprécierait vraiment. Merci. – tonyf

+0

Désolé, il m'a fallu du temps pour revenir. Fondamentalement ce qui doit arriver est que la charge d'ajax doit tirer un modèle limité, pas le modèle complet. En ajoutant une requête var à l'URL de lien, vous pouvez l'utiliser dans le modèle pour exclure l'en-tête, la barre latérale et le pied de page du chargement et retourner uniquement le contenu du corps (ce qui est nécessaire pour le type de charge dont vous parlez). Lorsque vous attachez vos gestionnaires de clics aux liens de nav, ajoutez un? Ajax = true ou quelque chose comme ça afin que lorsque le gabarit est chargé, vous pouvez regarder ce var pour voir si vous avez besoin de charger un gabarit complet. – Gipetto