Sociale Links

Met de Sociale Links module kunnen gebruikers profiellinks kiezen voor de sociale media integratie voor hun thema, van geselecteerde services die verbonden zijn met Publicize. Om dit te gebruiken moet je:

  • Thema ondersteuning toevoegen via de add_theme_support() functie in je thema.
  • Gebruik maken van het Thema Wijzigingen API om de gegevens binnen te halen in je thema sjabloon.

Support Toevoegen

Sociale Links inschakelen lijkt erg op het toevoegen van support voor post miniaturen of bewerk stijlen, omdat we gebruik maken van add_theme_support(). Door een serie slugs te verstrekken van de ondersteunde services als het tweede argument bij het oproepen van de add_theme_support(), zullen Sociale Links uitsluitend de informatie doorgeven die je thema nodig heeft. Sociale Links ondersteunt momenteel vier services: Facebook, Twitter, LinkedIn en Tumblr. Omdat elk thema anders is en bepaalde thema’s misschien niet alle diensten ondersteunen, moeten de thema’s services opgeven:

add_theme_support( 'social-links', array(
    'facebook', 'twitter', 'linkedin', 'tumblr'
) );

De gegevens gebruiken

Sociale Links maakt de gegevens beschikbaar via de Thema Wijzigingen API. Op deze manier kunnen thema’s die gegevens ophalen met een oproep naar get_theme_mod() en ermee werken. Als thema-ontwikkelaar moet je altijd controleren of de gebruiker werkelijk een link heeft ingesteld voor die service alvorens deze te gebruiken. Je kunt vertrouwen op de standaardwaarde van de core van false, of een lege string doorgeven als een tweede argument als je consistente gegevensoorten wilt behandelen. We hebben voor de thema wijzigingsnaam ingevoegd 'jetpack', om niet in conflict te komen met de functionaliteit van een andere plugin of ander thema dat misschien alleen de service naam gebruikt. Zo zou een implementatie in een sjabloonbestand eruit kunnen zien, na controle of de URL is ingesteld:

<a href="<?php echo esc_url( get_theme_mod( 'jetpack-facebook' ) ); ?>">
    <?php _e( 'Facebook', 'textdomain' ); ?>
</a>

Let wel dat ook al zijn de gegevens beschikbaar via get_theme_mod(), ze in werkelijkheid opgeslagen worden als een gerangschikte waarde in de Jetpack Opties — niet als een thema mod. We gebruiken gewoon wat filters achter de schermen om het makkelijker toegankelijk te maken voor ontwikkelaars met get_theme_mod(), zodat je geen aangepaste functies hoeft te gebruiken die zouden kunnen breken als je gebruikers Jetpack niet geïnstalleerd hebben!

  • Inhoudsopgave

  • Categorieën