Titel voor reacties aanpassen per CPT

Wil je de titel van je WordPress commentaar sectie aanpassen, dan moet je dit beslist lezen.

Wil je direct een mail ontvangen wanneer nieuwe snippets zijn toegevoegd?

Vul dan onderstaand formulier in en je krijgt direct na het toevoegen van nieuwe snippets een email. Zo blijf je altijd bij!

Wanneer je blogt, dan wil je waarschijnlijk graag, dat mensen op je blog reageren. Nu is de standaard Engelse tekst al niet zo best (‘Leave a reply’), maar de Nederlandse vertaling daarvan is echt om te huilen (Geef een antwoord).

Nu is dit vrij makkelijk aan te passen zonder een regel te coderen, en dit heb ik een tijdje geleden in een blogpost beschreven.

Maar wat nu indien je meerdere post types met commentaar mogelijkheden hebt. Zelf implementeer ik bijvoorbeeld Online Leeromgevingen. En bij WP Courseware worden de ‘comments’ gebruikt voor de commentaren bij de lessen. Maar wanneer er op die site ook een blog is, dan wil je waarschijnlijk voor de blog een heel andere tekst gebruiken.

Laten we eens uitgaan van een situatie, waarbij ik de volgende titels wil gebruiken voor de commentaar sectie :

  • Blog : Jouw commentaar op deze blog is van harte welkom!
  • Lessen : Heb je nog vragen of opmerkingen bij deze les, dan lees ik die graag!

Dit wordt lastig. Want via het vertaalbestand kunnen we maar één soort commentaar titel adresseren. Tijd voor een code snippet dus:

<?php 
add_filter('comment_form_defaults','wxp_set_titles_for_comments');

function wxp_set_titles_for_comments($args) {
   
   if ('post'== get_post_type()) {
      $args['title_reply'] = 'Jouw commentaar op deze blog is van harte welkom!';
   }
   if ('course_unit' == get_post_type()) {
      $args['title_reply'] = 'Heb je nog vragen of opmerkingen bij deze les, dan lees ik die graag!';
   }
   return $args;
}

Deze code werkt prima, wanneer je 2-3 verschillende titels voor verschillende custom post type commentaren wilt hebben, maar heb je er meer nodig, dan kan de code iets efficiënter geschreven worden.

Want je ziet hierboven, dat de functie get_post_type() tweemaal wordt aangeroepen. Dat kost tijd. Door de functie een klein beetje anders te schrijven, kunnen we de functie iets sneller maken.

<?php
add_filter('comment_form_defaults','wxp_set_titles_for_comments');

function wxp_set_titles_for_comments($args) {
   switch( get_post_type() ) {
      case 'post' : 
         $args['title_reply'] = 'Jouw commentaar op deze blog is van harte welkom!';
         break;
      case 'course_unit' :
         $args['title_reply'] = 'Heb je nog vragen of opmerkingen bij deze les, dan lees ik die graag!';
         break;
      case 'some_other_cpt' : 
         $args['title_reply'] = 'Dit is een custom post type';
         break;
      case 'another_cpt' : 
         $args['title_reply'] = 'Dit is een custom post type nr 2';
         break;        
   }
   return $args;
}

Codesnippet verbeteren

Het doel van deze code snippet is een probleem op te lossen in een specifieke situatie. Daarom zie je regelmatig voorbeelden waar je specifiek tekst moet aanpassen om te krijgen wat je wilt. 

Wil jij leren hoe je complete plugins zelf kunt programmeren inclusief ‘admin’ schermen voor het instellen en de output in de gewenste taal, dan is misschien de cursus ‘Introductiecursus Plugins Programmeren‘ iets voor jou. 

Wil je als ‘full stack’ WordPress programmeur aan de gang gaan, dan biedt WordXPression ook een compleet traject ‘WordPress Developer‘ aan. Dit is een traject wat deels online, deels klassikaal wordt gegeven.

WordPress Developer worden?

Wil je leren hoe je zelf plugins, thema's, shortcodes, widgets, Gutenberg blocks en meer kan maken?
Schrijf je dan in voor de cursus WordPress Developer.

Meer snippets

Prijzen verbergen voor niet ingelogde gebruikers
Hoe verberg je de WooCommerce prijzen voor niet ingelogde gebruikers?
In WooCommerce 'gratis verzending' als enige optie tonen.
Wanneer je in WooCommerce 'gratis verzending' als enige optie wilt tonen, moet je toch iets meer doe...
WooCommerce product titel inkorten
Past de titel in je WooCommerce product matrix niet? Zo pas je het aan.
JavaScript verbergen wanneer je bent ingelogd
Specifieke JavaScript code verbergen, wanneer je bent ingelogd.
Beperk zoekresultaten tot bepaalde post-typen
Hoe beperk je de post typen die terug komen vanuit een zoekopdracht?
Shortcodes voor het tonen en verbergen van content
Hoe maak ik een shortcode waarmee ik content van mijn posts kan verbergen?

Veiligheid voor alles!

Met betrekking tot de code die je hier aantreft een aantal waarschuwingen, voordat je deze code snippets toepast op je eigen website.

  1. Voer de code nooit direct uit op je eigen website, maar probeer deze eerst op een staging omgeving of een locale kopie van je website. 
  2. Voor je de geteste code installeert op je website, maak eerst een back up van je website.
  3. Zorg altijd voor alle zekerheid, dat je voor je een aanpassing live zet, je ook de FTP gegevens van je website bij de hand hebt.  
 
Voel je je onvoldoende vertrouwd met het toepassen van een dergelijke code snippet, bedenk dat je dit ook door een professional kan laten doen. De WordXPression support strippenkaart is een voordelige manier om dit soort aanpassingen te laten doen.
Heeft dit artikel je geholpen je probleem op te lossen?
Deel het met je vrienden via je favoriete social media.

Heb je vragen bij, of opmerkingen over deze code snippet, stel deze bij de commentaren hieronder.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Word je website de baas. Neem vandaag nog contact op!

Contact Information

WordXPression 

Bezoekadres
Eperweg 135 (op afspraak)
8072 PL Nunspeet

Postadres
Aardoliestraat 14-I
7553GT Hengelo

06-10449807 (van 9:00 tot 17:00 van ma-vr)

KVK : 75580152 

Social media
Stuur een bericht

Introductiecursus Plugins Programmeren

wordpress coding Can use php code as background in html

Ontdek de wereld van WordPress Plugin ontwikkeling met WordXPression's introductiecursus