2010-08-16 25 views
2

Je suis un peu nouveau sur Wordpress et PHP, et je voulais obtenir des conseils sur la meilleure façon d'aborder mon problème car j'ai eu peu de chance de le faire avec succès jusqu'ici.Wordpress - Affichage et superposition de champs/messages personnalisés

Il y a deux emplois que je veux gérer:

Tout d'abord, je veux avoir une inclure conditionnelle à ma page d'accueil qui effectue les opérations suivantes;

Trouver un type de poste personnalisé home_content (ne va jamais être 1 poste, qui est ID 76 - si cela aide) Afficher 3 champs personnalisés de ce poste ... les valeurs today_on front_widget_a & front_widget_b

(Je suppose qu'une question secondaire serait - puis-je même passer shortcode à travers un champ personnalisé, parce que c'est ce que ces widgets sont générés, est shortcode d'un plug-in)

C'est à peu près tout. J'ai essayé plusieurs combinaisons de get_posts et get_post_meta sans grand succès. Soit je reçois des erreurs de syntaxe que je n'arrive pas à comprendre (et croyez-moi que j'ai peigné mon code plusieurs fois pour des points-virgules manquants et autres). Cela ou je reçois un résultat qui n'a aucun sens.

Le second est un peu plus difficile.

En essayant fondamentalement de transformer une partie de mon Wordpress en un peu d'une fonctionnalité de style CMS. Fondamentalement, j'ai 2 types de messages personnalisés supplémentaires, un appelé tag_page_layout et un appelé tag_page_data. Lorsque vous cliquez sur une étiquette dans un article, je veux que la page d'étiquette saisisse le champ personnalisé 1 dans tag_page_layout, puis quelques champs personnalisés de tag_page_data.

Je n'aurais probablement même pas besoin des deux types de post si j'ai pris le temps d'apprendre le code PHP ou HTML pour faire des onglets, mais encore une fois, j'utilise un plug-in pour Wordpress shortcode voir ci-dessus - Je ne suis même pas sûr que ça marchera bien - bien sûr si je ne veux pas faire plusieurs de ces mises en page, donc chaque bit [short: NAME] shortcode est dans sa propre zone post-contenu Donc ... la page de balise aura un gros morceau de code qui court avant la boucle .... elle le connait sur une page de balise, donc elle commence à charger le champ personnalisé 1 à partir de tag_page_layout, qui est essentiellement un peu de code qui démarre une zone de présentation de données séparées par des tabulations, puis il faut prendre l'étiquette cliquée et la faire correspondre avec le même ID de tag du type de message personnalisé # 2 - le tag_pa groupe de données ge_data Ensuite, il saisira les 3 premiers champs de cette page, retournera à la mise en page, lancera un autre champ personnalisé pour commencer un autre onglet, et ainsi de suite, jusqu'à un [tab: END] et il exécute le boucle.

Je pourrais inclure toutes mes diverses tentatives et morceaux de code qui n'ont jamais fonctionné ou qui ont fonctionné à moitié, mais j'ai été autour de tant de cercles essayant de construire ceci. Comme je l'ai dit, mes connaissances en codage sont limitées, mais je peux habituellement me débrouiller, mais ces points plus fins d'essayer de faire de Wordpress un peu plus CMS semblent plus difficiles à saisir pour moi. Toute aide serait appréciée!

+0

vous obtiendrez probablement de meilleurs résultats en séparant ces questions. Il est plus facile de répondre et à l'avenir, les personnes ayant un problème similaire peuvent plus facilement trouver une réponse sans avoir à demander. – Hans

+0

Et, je pense que vous avez raison, vous n'auriez pas besoin d'avoir les types de postes personnalisés si vous utilisiez PHP directement; Je ne suis pas certain de ce qu'est WP shortcode, mais je suppose qu'il y a une autre couche sur PHP pour le simplifier. Mais, PHP, surtout que WP l'a défini, n'est pas si difficile à utiliser et il y a probablement plus de documentation sur WP/PHP que WP/shortcode – Hans

+0

Je pense que vous êtes un peu confus sur ce que les types de post sont censés faire. Toutes ces choses peuvent être faites avec des modèles très basiques dans WordPress. Les types de publications personnalisées ne sont pas du tout ce que vous semblez penser. –

Répondre

1

En ce qui concerne l'utilisation de shortcodes dans les champs personnalisés, cela devrait vous aider, où XXX est votre nom de champ personnalisé.

<?php 
$var = apply_filters('the_content', get_post_meta($post->ID, 'XXX', $single = true)); 
echo $var; 
?> 

Cette application est le filtres standard exécute automatiquement sur wordpress contenu de la poste, ce qui lui permet de traiter votre champ personnalisé et convertir les shortcode.

Questions connexes