Fermer

janvier 19, 2022

Comment combiner des messages et des types de messages personnalisés dans les requêtes WordPress et le flux RSS


L'une des fonctionnalités les plus étonnantes de WordPress est la possibilité de créer des types de publication personnalisés. Cette flexibilité est fantastique… car les types de publication personnalisés peuvent être utilisés par une entreprise pour organiser facilement d'autres types de publications telles que des événements, des lieux, des FAQ, des éléments de portefeuille. Vous pouvez créer des taxonomies personnalisées, des champs de métadonnées supplémentaires et même des modèles personnalisés pour les afficher.

Sur notre site à Highbridge, nous avons un type de publication personnalisé configuré pour les projets en plus de notre blog où nous partageons les nouvelles de l'entreprise. En ayant un type de publication personnalisé, nous sommes en mesure d'aligner les projets sur nos pages de capacités… donc si vous consultez nos services WordPressles projets sur lesquels nous avons travaillé qui sont liés à WordPress s'afficheront automatiquement . Je travaille dur pour essayer de documenter tous nos projets afin que les visiteurs de notre site puissent voir l'éventail des travaux que nous effectuons pour les entreprises. Je ne voulais pas avoir à créer une section pour nos articles de blog ET une section pour nos derniers projets. Je souhaite fusionner les publications et les projets dans la même sortie à l'aide de notre générateur de modèles, Elementor. Elementor n'a pas d'interface pour fusionner ou combiner des publications et des types de publication personnalisés, mais c'est assez simple de le faire vous-même !

Dans la page functions.php de votre thème enfant, voici un exemple de la façon de combiner les deux :[19659006]fonction add_query_news_projects( $query ) {
si ( is_home() && $query->is_main_query() )
$query->set( 'post_type', array( 'post', 'project' ) );
retourne $requête ;
}
add_filter( 'pre_get_posts', 'add_query_news_projects' );

Le filtre pre_get_posts vous permet de mettre à jour la requête et de la configurer pour obtenir à la fois votre message et le type de message personnalisé projet. Bien sûr, lorsque vous écrivez votre code, vous devrez mettre à jour le ou les types de publication personnalisés selon votre convention de dénomination réelle.

J'ai également le site qui publie automatiquement sur les réseaux sociaux via son flux… je voulais donc également utiliser la même requête pour définir le flux RSS. Pour ce faire, je devais simplement ajouter une instruction OR et inclure is_feed.

function add_query_news_projects( $query ) {
si ( is_home() && $query->is_main_query() || is_feed() )
$query->set( 'post_type', array( 'post', 'project' ) );
retourne $requête ;
}
add_filter( 'pre_get_posts', 'add_query_news_projects' );

Fusionner les messages et les types de messages personnalisés dans Elementor

Une note de plus… Elementor a une fonctionnalité vraiment géniale où vous pouvez nommer et enregistrer une requête dans votre site. Dans ce cas, je construis une requête appelée news-projects, puis je peux l'appeler à partir de l'interface utilisateur Elementor dans la section Posts Query.

function my_query_news_projects( $query ) {
$query->set( 'post_type', array( 'post', 'project' ) );
}
add_action ('elementor/query/news-projects', 'my_query_news_projects'); en utilisant mon lien d'affiliation Elementor dans cet article.




Source link