Transformer n’importe quel site WordPress en magazine basé sur des questions
Dans la publication hors ligne, qu’il s’agisse d’un quotidien ou d’un rapport trimestriel, la publication périodique est le mode dominant. Cependant, cette approche n’a guère gagné en popularité sur le Web, mais de nombreux sites Web ont bénéficié d’une large diffusion, car ces sites ne font pas partie d’un « cycle d’information de 24 heures » trop médiatisé et finalement destructeur. Il n’est pas difficile de transformer le site WordPress en publication en ligne basée sur des questions. Laissez – moi vous montrer comment faire.
L’édition régulière est la base de l’édition sur papier, mais elle est rarement utilisée en ligne. Comme ils l’ont dit, le contenu est roi, mais dans l’édition \Il est peut – être surprenant de constater que peu de sites Web adoptent le modèle de l’édition régulière, d’autant plus que les tablettes sont de plus en plus utilisées, car elles sont facilement consommées par les magazines numériques, en particulier la popularité continue des bulletins d’information électroniques. Une série de contenus planifiés et publiés régulièrement, qu’ils soient quotidiens, hebdomadaires, mensuels ou trimestriels, offrent un avantage aux lecteurs et aux éditeurs. Pour les éditeurs, cela signifie qu’il n’est pas nécessaire d’être esclave du modèle de publication instantanée. Il est possible d’effectuer un inventaire, de se concentrer sur la qualité et de produire du contenu.
Pour les lecteurs, il n’y a pas de pression pour « suivre » tout et rien. C’est réconfortant (et un avantage pour les éditeurs) de savoir que les gens en qui ils ont confiance prennent soin d’eux – mêmes en leur nom et ont la possibilité de se « fermer » avec un bon site Web. L’absence d’exemples signifie – t – elle que la publication de périodiques est difficile? En fait, c’est très simple. Gardez cette solution simple à concevoir et j’essaie de suivre les principes kiss. Dans save it
Vvvi, si le visiteur tape sur la page d’accueil de votre site, il n’y a aucune information sur les problèmes que cette page peut traiter. Pour aider la page d’accueil, sélectionnez manuellement les messages en nous suspendant à l’action pré _ get posts appelée avant d’effectuer une requête sur les messages: fonction MAG Front Page filter ($QUERY)
Si ($QUERY – > is _ Home () & & & $QUERY – > is main Query () {
Si (! Get _ Query var (‘issue’) {
$Tax _ Query = array
Tableau
« classification» = > « questions»,
« champ» = > « fiche de champ»,
« terme» = > MAG _ get Current issue (),
()
);
$QUERY – > Settings (‘Tax _ Query’, $Tax query);
}
}
}
Enregistrer le filtre
Ajouter _ action (‘pre get posts’,’ MAG Front Page Filter ‘);
Cette action est appelée pour chaque requête Post, donc il est important de s’assurer que seules les requêtes primaires sur la page d’accueil sont affectées. Revoyons si le problème est dans la chaîne de requête (si oui, le filtre reste la requête Tax _ query), ou définissons le filtre de classification en ajoutant le paramètre Tax Query à la requête. Les liens de navigation des messages ne sont pas générés dans la boucle, de sorte que les liens des messages suivants et précédents ne sont pas filtrés. Si nous ne les vérifions pas, nous finirons par avoir des liens vers des messages qui vont au – delà du problème. Nous pouvons empêcher cela en utilisant les filtres next _ post Link et previous post Link, qui ne renvoient le lien que si le message auquel il est lié est dans le numéro courant. Fonctions MAG _ check post navigation ($Output, $format, $link, $post) {
Si ce message n’est pas la version actuelle, il retourne en blanc
Si (! Has _ term (MAG get Current issue (), ‘issue’, $post)) renvoie »;
Renvoie $output;
}
Ajoutez la vérification aux liens des messages suivants et précédents – Assurez – vous que 4 paramètres sont passés afin que nous puissions obtenir $post
Ajouter un filtre (‘next _ post Link’, ‘MAG check post navigation’, 10, 4);
Ajouter un filtre (‘précédent _ post Link’, ‘MAG check post Navigation
«, 10, 4);
La catégorie principale des questions de publication contrôle la publication des questions. Je pense que la catégorie principale pourrait être éditoriale, parce que dans la plupart des revues, il y a habituellement un message de bienvenue. Par conséquent, lorsqu’un nouveau poste est affiché dans la catégorie principale, Cela activera la question à laquelle le poste est assigné et affichera tous les autres postes à traiter dans la question. Tout cela est réalisé en s’attachant à l’opération publish _ post. Fonction MAG _ check for New issue on publish ($post ID) {
Vérifiez s’il s’agit d’une véritable publication, pas d’une mise à jour
Si ($u post [‘post _ Status’] = \
Le poste appartient – il à la catégorie Master?
If (in _ Category (get option (‘MAG Master Category’), $post ID) {
Obtenez le problème et attribuez – le à l’option globale Current _ issue
$terms = get _ terms ($post ID, \
Si ($clause)
Mise à jour _ option (‘MAG Current Issue’, $terms [0] – > Slug);
}
Publier tous les messages du même numéro
$paramètre = tableau
‘posts _ per page’ = > – 1,
« post \ u status» = > « pending»,
« Tax _ query» = > Array
Tableau
« classification» = > « questions»,
« champ» = > « fiche de champ»,
« terme» = > $terme [0] – > Slug,
()
()
);
Supprimer _ action (‘publish post’, ‘MAG check for New issue on publish’);
Obtenir la liste des messages
$issue _ pending posts = get posts ($args);
Bouclez et définissez chaque statut post _ à publier
Foreach ($issue _ pending posts as $pending post)
$pending _ post – > Post status = ‘publish’;
WP _ update post (en attente);
}
Ajouter _ action (‘publish post’, ‘MAG check for New issue on publish’);
}
}
}
Opérations d’inscription
Ajouter _ action (‘publish post’, ‘MAG check for New issue on publish’);
Cette fonction est appelée après la publication d’un message et vérifie d’abord s’il s’agit de la première publication et non d’une mise à jour. Nous n’activerons ce code que lors de la première publication. En outre, nous voulons simplement continuer à travailler avec
Si le billet publié appartient à la catégorie principale. Si c’est la première fois qu’un billet de la catégorie principale est publié, nous mettons d’abord à jour les options pour les problèmes mondiaux actuels avec les questions assignées au billet. La première question est toujours utilisée, de sorte que si plus d’une question est assignée, les autres questions sont ignorées. Ensuite, nous obtenons une liste des messages actuellement publiés et définissons l’état de publication à publier. Vous remarquerez que lorsque vous définissez les paramètres pour appeler get _ posts, posts per page est défini à – 1 pour outrepasser toute restriction get posts, posts per page. Vous remarquerez également que les actions personnalisées ont été supprimées avant de faire défiler les messages. Cela empêche les fonctions personnalisées d’être appelées à nouveau lorsque WP _ update post est appelé, et aide à empêcher les boucles sans fin. L’opération reprendra lorsque tous les messages auront été traités. Le plugin contient trois courts codes: [backsissues] pour afficher tous les messages de la catégorie principale dans une liste non ordonnée. [contenu] afficher le titre de la catégorie afficher le numéro actuel du poste dans la liste non ordonnée [afficher la question] afficher Le plug – in contient la terminologie du problème actuel (par exemple \
O: Étendre la recherche afin d’activer « cette question seulement » et « l’ensemble du site » pour limiter les commentaires sur les questions, ou au moins afficher la terminologie des questions afin d’améliorer l’accès au contenu, en particulier sur les tablettes, modifier la page d’accueil en « couverture » questions je crois qu’il y en a plus, Mais j’espère que c’est un bon début et je vous encourage à réfléchir sérieusement à la publication axée sur les problèmes. Source de l’image: Ken Hawkins, Simon Q si vous utilisez ce code, dites – moi comment il fonctionne. J’aimerais également connaître votre point de vue sur la publication basée sur des problèmes, surtout si vous utilisez déjà cette méthode. Étiquettes: Classification