Hvordan kombinere innlegg og tilpassede innleggstyper i WordPress-spørringer og RSS-feed
En av de mest fantastiske funksjonene til WordPress er muligheten til å bygge Custom Post Typer. Denne fleksibiliteten er fantastisk ... ettersom egendefinerte innleggstyper kan brukes for en bedrift for å organisere andre typer innlegg som arrangementer, steder, vanlige spørsmål, porteføljeartikler. Du kan bygge egendefinerte taksonomier, ekstra metadatafelt og til og med egendefinerte maler for å vise dem.
På vår side kl DK New Media, har vi en egendefinert posttype satt opp for prosjekter i tillegg til bloggen vår hvor vi deler bedriftsnyheter. Ved å ha en egendefinert innleggstype, kan vi justere prosjektene på funksjonssidene våre … så hvis du ser vår WordPress-tjenester, vil prosjektene vi har jobbet med som er WordPress-relaterte vises automatisk. Jeg jobber hardt med å prøve å dokumentere alle prosjektene våre slik at besøkende på nettstedet kan se utvalget av arbeid vi gjør for bedrifter.
Slå sammen innlegg og tilpassede innleggstyper
Hjemmesiden vår er allerede ganske omfattende, så jeg ønsket ikke å bygge en seksjon for blogginnleggene OG en seksjon for de siste prosjektene våre. Jeg vil slå sammen både innlegg og prosjekter til samme utgang ved å bruke malbyggeren vår, Elementor. Elementor har ikke et grensesnitt for å slå sammen eller kombinere innlegg og tilpassede innleggstyper, men det er ganske enkelt å gjøre dette selv!
Innenfor barnetemaets functions.php-side, her er et eksempel på hvordan du kombinerer de to:
function add_query_news_projects( $query ) {
if ( is_home() && $query->is_main_query() )
$query->set( 'post_type', array( 'post', 'project' ) );
return $query;
}
add_filter( 'pre_get_posts', 'add_query_news_projects' );
Pre_get_posts-filteret lar deg oppdatere søket og sette det til å hente både innlegget ditt og prosjekt tilpasset innleggstype. Selvfølgelig, når du skriver koden din, må du oppdatere den(e) tilpassede posttypen(e) til den faktiske navnekonvensjonen din.
Slå sammen innlegg og tilpassede innleggstyper i feeden din
Jeg har også nettstedet som automatisk publiserer til sosiale medier via feeden … så jeg ønsket også å bruke den samme spørringen for å angi RSS-feed. For å gjøre dette, måtte jeg bare legge til en OR-setning og inkludere er_mating.
function add_query_news_projects( $query ) {
if ( is_home() && $query->is_main_query() || is_feed() )
$query->set( 'post_type', array( 'post', 'project' ) );
return $query;
}
add_filter( 'pre_get_posts', 'add_query_news_projects' );
Slå sammen innlegg og tilpassede innleggstyper i Elementor
En merknad til... Elementor har en virkelig flott funksjon der du kan navngi og lagre et søk på nettstedet ditt. I dette tilfellet bygger jeg en spørring kalt news-projects, og så kan jeg ringe den fra Elementor-brukergrensesnittet i Posts Query-delen.
function my_query_news_projects( $query ) {
$query->set( 'post_type', array( 'post', 'project' ) );
}
add_action( 'elementor/query/news-projects', 'my_query_news_projects' );
Slik ser det ut i Elementor-brukergrensesnittet:
Opplysning: Jeg bruker min Elementor tilknyttet lenke i denne artikkelen.