Featured Content

Met Bijzondere Content kunnen gebruikers hun posts laten opvallen en op unieke wijze met een thema tonen. Het is  de bedoeling dat de content getoond wordt op de voorpagina van een blog; door de module constant op deze manier te gebruiken, krijgen gebruikers een betrouwbare Bijzondere Content ervaring waarop ze kunnen vertrouwen, ook als ze van thema veranderen.

Om te beginnen kun je deze makkelijke stappen volgen:

  1. Thema ondersteuning voor Bijzondere Content inschakelen
  2. Ga naar Instellingen → Lezen en selecteer een tag onder Tag Naam in Bijzondere Inhoud
  3. Tag bepaalde inhoud.

Voor meer gedetailleerde informatie, lees verder! Of ga direct door naar gebruikstips, stappen om ondersteuning aan je thema toe te voegen en sjabloontips.

Gebruik

Featured Content admin settings

Als je thema Bijzondere Content ondersteunt, kun je het gebied van de Bijzondere Content activeren door naar Instellingen → Lezen te gaan en de naam van tag in te voeren in het veld “Tagnaam”. Als je de naam van een tag invoert die nog niet bestaat, zal er een nieuwe tag voor je gecreëerd worden. Als deze waarde ingesteld is, worden gepubliceerde posts die met deze waarde getagd zijn ingevoegd in de Bijzondere Content Area.

Als je een maximum aantal bijzondere posts wilt instellen, kun je de waarde van het “Aantal posts” wijzigen. Bijzondere Content zal standaard maximaal 15 posts teruggeven, maar het thema zelf  kan ook zijn eigen maximale aantal posts aangeven. Dit kan nodig zijn als het thema bijvoorbeeld gebruik maakt van grote bijzondere afbeeldingen in de presentatie van zijn Bijzondere Content.

“Verberg tag en niet laten tonen in post meta en tag clouds” is aangevinkt om er voor te zorgen dat de tag die geselecteerd is voor Bijzondere Content niet getoond wordt in die lijst tags van die post of in de Tag Cloud widget. Het archief van je tag zal nog steeds op een normale manier getoond worden.

to ensure that the tag selected for Featured Content doesn’t show up in that post’s list of tags or the Tag Cloud widget. Your tag’s archive will continue to be displayed in normal fashion.

Ondersteuning aan een Thema toevoegen

De eerste stap om ondersteuning voor Bijzondere Content toe te voegen aan je thema is door te gaan naar  add_theme_support() en ‘featured-content’ als de eerste parameter in te stellen. Dit bezoek aan add_theme_support() moet plaats vinden tijdens de after_setup_theme actie.

add_theme_support( 'featured-content', array(
	'featured_content_filter' => 'mytheme_get_featured_posts',
	'max_posts'   => 20,
	'additional_post_types' => 'page',
) );

De tweede parameter, $args, is een array die mogelijk 3 verschillende waarden bevat. De eerste is verplicht en de 2 andere zijn optioneel:

  • featured_content_filter – De naam van een aangepast filter dat gebruikt wordt om bijzondere content terug te geven. Dit kan vooraf geregeld worden met de thema slug.
  • max_posts – Het maximale aantal posts dat de area kan bevatten. Het is mogelijk dat een thema uitsluitend zes posten in de area kan opnemen. Als dat zo is, moet max_posts op zes ingesteld worden.
  • additional_post_types – De Bijzondere Content module zal standaard alleen maar posts pullen. Je kunt echter Bijzondere Content ondersteuning toevoegen voor aanvullende registreerde postsoorten door een additional_post_types argument te definiëren  (in de vorm van een string of een array).

Getter Functie

Er moet een functie gecreeerd worden die de waarde van het filter zoals gedefinieerd in add_theme_support( 'featured-content' ) teruggeeft. Dit zal gebruikt worden om bijzondere posts toe te wijzen aan een variabel in een sjabloonbestand.

function mytheme_get_featured_posts() {
	return apply_filters( 'mytheme_get_featured_posts', array() );
}

Conditionele Functie

Om te voorkomen dat markup geprint wordt en dat scripts in de wachtrij worden gezet terwijl dit niet nodig is, kunnen we een functie definieren die ons helpt deze beslissingen te maken. Deze functie zou een Boolean waarde moeten teruggeven en een enkele parameter accepteren. De parameter wordt gebruikt om het minimum aantal bijzondere posts aan te geven om een echte waarde terug te geven.


</pre>
<pre>function mytheme_has_featured_posts( $minimum = 1 ) {
	if ( is_paged() )
		return false;

	$minimum = absint( $minimum );
	$featured_posts = apply_filters( 'mytheme_get_featured_posts', array() );

	if ( ! is_array( $featured_posts ) )
		return false;

	if ( $minimum > count( $featured_posts ) )
		return false;

	return true;
}

Bijvoorbeeld in het geval van een slider, kunnen we op verschillende manieren gebruik maken van mytheme_has_featured_posts() om markup toe te voegen en scripts in de wachtrij te plaatsen. Omdat onze slider slechts een post tegelijk toont, moeten we exporteren zolang er een bijzondere post is, maar we  hoeven onze slider Javascript alleen maar in de wachtrij te plaatsen als er twee of meer posts zijn.

// Found in our template file
<?php if ( mytheme_has_featured_posts( 1 ) ) : ?>
	<div class="featured-content">
		<?php get_template_part( 'content-featured.php' ); ?>
	</div>
<?php endif; ?>
// In functions.php, in a function hooked to wp_enqueue_scripts
if ( mytheme_has_featured_posts( 2 ) ) {
	wp_enqueue_script( 'mytheme-slider-script', get_template_directory_uri() . '/js/awesome-slider.js', array( 'jquery' ) );
}

Sjablonen

Om de gebruikerservaring met thema’s te standaardiseren, hebben we het concept van een voorpagina bijzondere content area ontwikkeld. Deze arop de “voorpagina” van een WordPress installatie getoond worden – in andere woorden, deze area zal altijd gebruikt worden als is_front_page () waar teruggeeft. Afhankelijk van het ontwerp van het thema ende instellingen van de website, kan is_front_page() waar teruggeven in multipel verschillende sjablonen. De Bijzondere Content area moet gebruikt worden in de volgende sjablonen als hij in een thema aanwezig is:

Thema’s die front-page.php bevatten

Het front-page.php sjabloon zal altijd gebruikt worden op de voorpagina als het in een thema bestaat. Als je thema dit sjabloon levert, is dat het enige waaraan de bijozondere content area toegevoegd moet worden.

Thema’s zonder voorpagina.php

Als front-page.php niet in het thema ingevoegd is, moet de Bijzondere Content area toegevoegd worden aan de volgende sjablonen, indien aanwezig:

  • page.php
  • home.php
  • index.php
  • Alle aangepaste pagina sjablonen.
  • Inhoudsopgave

  • Categorieën