Webstick.nl logo Webdesignburo en Wordpress-blog

WordPress functions.php aanpassen

WordPress functions.php aanpassen

Alle WordPress theme hebben standaard een function.php-bestand. Dit bestand fungeert als een soort plug-in en stelt u in staat om veel leuke dingen te doen op uw WordPress website. In dit artikel tonen we enkele van de handigste trucs om uw WordPress functions.php aan te passen. Het doel van dit bestand is om theme-ontwikkelaars in staat te stellen themafuncties en -functies te definiëren. Dit bestand werkt net als een WordPress-plug-in en kan worden gebruikt om uw eigen aangepaste codefragmenten toe te voegen in WordPress.

Wat is het verschil tussen een site-specifieke WordPress plugin en het functions.php bestand? Wat is beter?

Terwijl het bestand functions.php handiger en sneller is, is een sitespecifieke plug-in een stuk beter. Gewoon omdat het onafhankelijk is van uw WordPress-thema en zou werken, ongeacht het theme dat u gebruikt. Aan de andere kant werkt het functiesbestand van een theme alleen voor dat thema en als u van thema verandert, moet u uw aangepaste codes kopiëren en in het nieuwe thema plakken. Hieronder vindt u enkele uiterst handige trucs voor wat betreft het WordPress-functiesbestand.

Verwijder WordPress versienummer

Het is verstandig om altijd de nieuwste versie van WordPress te gebruiken. Ondanks dat wilt u misschien nog steeds het versienummer van WordPress van uw site verwijderen. Voeg daarvoor dit codefragment toe aan uw functiesbestand.

function wpb_remove_version() {
return '';
}
add_filter('the_generator', 'wpb_remove_version');

Uw eigen logo toevoegen in uw Wordpress

Wilt u uw WordPress-beheergebied white-labellen? Het toevoegen van uw eigen logo is de eerste stap in het proces. Eerst moet je je aangepaste logo uploaden naar de map met afbeeldingen van je thema als custom-logo.png. Zorg ervoor dat uw aangepaste logo 16 × 16 pixels groot is. Daarna kunt u deze code toevoegen aan het functiedossier van uw thema.

function wpb_custom_logo() {
echo '
<style type="text/css">
#wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
background-image: url(' . get_bloginfo('stylesheet_directory') . '/images/custom-logo.png) !important;
background-position: 0 0;
color:rgba(0, 0, 0, 0);
}
#wpadminbar #wp-admin-bar-wp-logo.hover > .ab-item .ab-icon {
background-position: 0 0;
}
</style>
';
}
//hook into the administrative header output
add_action('wp_before_admin_bar_render', 'wpb_custom_logo');

Wijzig de voettekst in WordPress Admin Panel

wordpress backend footer text

De footer in het WordPress admingedeelte toont het bericht 'Bedankt voor het gebruiken van WordPress'. Je kunt het in alles veranderen wat je wilt door deze code toe te voegen.

function remove_footer_admin () {
 
echo 'Fueled by <a href="http://www.wordpress.org" target="_blank">WordPress</a>
 | WP Tutorials: <a href="https://www.webstick.nl" target="_blank">WP</a></p>';
 
}
 
add_filter('admin_footer_text', 'remove_footer_admin');

Voeg aangepaste Dashboard-widgets toe in WordPress

U hebt waarschijnlijk widgets gezien die verschillende plug-ins en thema's toevoegen in het WordPress-dashboard. Als thema-ontwikkelaar, kun je er zelf een toevoegen door de volgende code te plakken:

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
 
function my_custom_dashboard_widgets() {
global $wp_meta_boxes;
 
wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}
 
function custom_dashboard_help() {
echo '<p>Welkom bij dit aangepaste blogthema! Contact opnemen met de ontwikkelaar, <a href="mailto:yourusername@gmail.com">klik hier</a>. Klik voor WordPress Tutorials: <a href="https://www.webstick.nl" target="_blank">Webstick</a></p>';
}	

Verander de standaard Gravatar in WordPress

Heb je de avatar van de standaardmysterie man op blogs gezien? Je kunt het eenvoudig vervangen door avatars van je eigen merk. Upload eenvoudig de afbeelding die u als standaardavatar wilt gebruiken en voeg deze code vervolgens toe aan uw functie-bestand.

add_filter( 'avatar_defaults', 'wpb_new_gravatar' );
function wpb_new_gravatar ($avatar_defaults) {
$myavatar = 'http://voorbeeld-site.nl/wp-content/uploads/2019/06/wpb-default-gravatar.png';
$avatar_defaults[$myavatar] = "Standaard Gravatar";
return $avatar_defaults;
}

Nu kun je naar de Instellingen » Discussie pagina gaan en je standaard avatar selecteren.

Standaard Wordpress gravatar

Dynamische auteursrechtdatum in WordPress Footer

U kunt eenvoudig de datum van het auteursrecht toevoegen door de voettekstsjabloon in uw thema te bewerken. Het wordt echter niet weergegeven wanneer uw site is gestart en wordt volgend jaar niet automatisch gewijzigd. U kunt deze code gebruiken om een dynamische copyrightdatum toe te voegen aan WordPress footer.

function wpb_copyright() {
global $wpdb;
$copyright_dates = $wpdb->get_results("
SELECT
YEAR(min(post_date_gmt)) AS firstdate,
YEAR(max(post_date_gmt)) AS lastdate
FROM
$wpdb->posts
WHERE
post_status = 'publish'
");
$output = '';
if($copyright_dates) {
$copyright = "© " . $copyright_dates[0]->firstdate;
if($copyright_dates[0]->firstdate != $copyright_dates[0]->lastdate) {
$copyright .= '-' . $copyright_dates[0]->lastdate;
}
$output = $copyright;
}
return $output;
}                 

Nadat u deze functie hebt toegevoegd, moet u uw footer.php-bestand openen en de volgende code toevoegen waar u maar wilt om de dynamische copyrightdatum weer te geven:

<?php echo wpb_copyright(); ?>

Deze functie zoekt naar de datum van uw eerste bericht en de datum van uw laatste bericht. Het echoot dan de jaren waar je de functie ook noemt.

Willekeurig achtergrondkleur wijzigen in WordPress

Wilt u de achtergrondkleur van uw WordPress willekeurig veranderen bij elk bezoek en de pagina opnieuw laden? Hier is hoe gemakkelijk dit te doen. Eerst moet u deze code toevoegen aan het functiebestand functions.php van uw thema.

function wpb_bg() { 
$rand = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
$color ='#'.$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)].
$rand[rand(0,15)].$rand[rand(0,15)].$rand[rand(0,15)];
echo $color;
}

Vervolgens moet u het header.php-bestand in uw thema bewerken. Zoek de <body> -tag op en vervang deze met deze regel:

<body <?php body_class(); ?> style="background-color:<?php wpb_bg();?>">>

U kunt nu uw wijzigingen opslaan en uw website bezoeken om dit in actie te zien.

Verander Wordpress achtergrondkleur

Update WordPress URL's

Als uw WordPress-aanmeldingspagina steeds wordt vernieuwd of als u geen toegang hebt tot het beheerdersgedeelte, moet u WordPress-URL's bijwerken. Een manier om dit te doen is door het bestand wp-config.php te gebruiken. Maar als u dat doet, kunt u niet het juiste adres instellen op de instellingspagina. De velden WordPress-URL en Site-URL worden vergrendeld en kunnen niet worden bewerkt. Als u dit wilt oplossen, moet u deze code toevoegen aan uw functie-bestand. (Ook kunt u de URL's rechtstreeks aanpassen in de database via MyPHPadmin).

update_option( 'siteurl', 'http://voorbeeldsite.nl' );
update_option( 'home', 'http://voorbeeldsite.nl' );

Vergeet niet om "voorbeeldsite.nl" te vervangen door uw eigen domeinnaam. Nadat u bent ingelogd, gaat u naar Instellingen en stelt u daar de URL's in. Hierna moet u de code verwijderen die u aan het functiedossier hebt toegevoegd, anders blijft deze URL's bijwerken telkens wanneer uw site wordt geopend.

Voeg extra afbeeldingsformaten toe in WordPress

WordPress maakt automatisch verschillende afbeeldingsformaten wanneer u een afbeelding uploadt. U kunt ook extra afbeeldingsformaten maken voor gebruik in uw thema. Voeg deze code toe aan het functie-bestand van uw thema.

add_image_size( 'sidebar-thumb', 120, 120, true ); // Hard Crop Mode
add_image_size( 'homepage-thumb', 220, 180 ); // Soft Crop Mode
add_image_size( 'singlepost-thumb', 590, 9999 ); // Unlimited Height Mode

Deze code maakt drie nieuwe afbeeldingsformaten met verschillende formaten. Voel je vrij om de code aan te passen om aan je eigen vereisten te voldoen. U kunt met deze code overal in uw thema een bepaalde afbeeldingsgrootte weergeven.

<?php the_post_thumbnail( 'homepage-thumb' ); ?>

Voeg nieuwe navigatiemenu's toe aan uw thema

Met WordPress kunnen thema-ontwikkelaars navigatiemenu's te definiëren en deze vervolgens weer te geven. Voeg deze code toe aan het functiebestand van uw thema om een nieuwe menulocatie in uw thema te definiëren.

function wpb_custom_new_menu() {
  register_nav_menu('mijn-persoonlijke-menu',__( 'Mijn persoonlijke menu' ));
}
add_action( 'init', 'wpb_custom_new_menu' );

U kunt nu naar Appearance » Menus gaan en u ziet 'Mijn persoonlijke menu' als optie voor de thema-locatie.

Wordpress extra menu's

U moet deze code aan uw thema toevoegen waar u het navigatiemenu wilt weergeven:

<?php
wp_nav_menu( array( 
    'theme_location' => 'my-custom-menu', 
    'container_class' => 'custom-menu-class' ) ); 
?>

Voeg profielvelden voor auteurs toe

Wil je extra velden toevoegen aan je auteursprofielen in WordPress? U kunt dat eenvoudig doen door deze code toe te voegen aan uw functiesbestand:

function wpb_new_contactmethods( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
//add Facebook
$contactmethods['facebook'] = 'Facebook';
 
return $contactmethods;
}
add_filter('user_contactmethods','wpb_new_contactmethods',10,1);

Deze code voegt Twitter- en Facebook-velden toe aan gebruikersprofielen in WordPress.

extra velden gebruikersprofielen WP

U kunt deze velden nu als volgt in uw auteur-sjabloon weergeven:

<?php echo $curauth->twitter; ?>

Kant-en-klare widget-gebieden of zijbalken toevoegen in WordPress-thema's

Premium themes hebben een veel makkelijker manier om zijbalken te maken. Dit is een van de meest gebruikte en veel ontwikkelaars kennen dit al. Maar het verdient het om in deze lijst te staan voor degenen die het nog niet kennen. Plak de volgende code in uw functions.php-bestand:

// Register Sidebars
function custom_sidebars() {
 
    $args = array(
        'id'            => 'custom_sidebar',
        'name'          => __( 'Custom Widget Area', 'text_domain' ),
        'description'   => __( 'A custom widget area', 'text_domain' ),
        'before_title'  => '<h3 class="widget-title">',
        'after_title'   => '</h3>',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
    );
    register_sidebar( $args );
 
}
add_action( 'widgets_init', 'custom_sidebars' );

Je kunt nu naar Appearance » Widgets in het back-end gaan en je zult je nieuwe aangepaste widget-gebied zien.

nieuwe widgets in het back-end

Voeg deze code toe om deze widget area of zijbalk weer te geven in uw thema:

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('custom_sidebar') ) : ?>
<!–Default sidebar info goes here–>
<?php endif; ?>

Verberg inlogfouten in WordPress

Inlogfouten in WordPress kunnen door hackers worden gebruikt om te raden of ze een verkeerde gebruikersnaam of wachtwoord hebben ingevoerd. Door login-fouten in WordPress te verbergen, kunt u uw login-gebied wat veiliger maken.

function no_wordpress_errors(){
  return 'Something is wrong!';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

Nu zien gebruikers een standaard bericht wanneer ze een onjuiste gebruikersnaam of wachtwoord invoeren.

geen login hints wordpress

Schakel inloggen in WordPress met e-mailadres uit

WordPress biedt gebruikers de mogelijkheid om in te loggen met gebruikersnaam of e-mailadres. U kunt aanmelden per e-mail eenvoudig uitschakelen in WordPress door deze code toe te voegen aan uw functions.php.

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );

Schakel zoekfunctie uit in WordPress

Als u de zoekfunctie op uw WordPress-site wilt uitschakelen, voegt u eenvoudig deze code toe aan uw functie-bestand.

function fb_filter_query( $query, $error = true ) {

if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;
 
// to error
if ( $error == true )
$query->is_404 = true;
}
}

add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

Wijzig de Read More Tekst voor Excerpts in WordPress

Wilt u de tekst wijzigen die na de excerpt verschijnt? Voeg deze code toe aan uw functions.php van uw theme.

function modify_read_more_link() {
    return '<a class="more-link" href="' . get_permalink() . '">Your Read More Link Text</a>';
}
add_filter( 'the_content_more_link', 'modify_read_more_link' );

Schakel RSS-feeds uit in WordPress

Niet alle websites hebben RSS-feeds nodig. Als u RSS-feeds op uw WordPress-site wilt uitschakelen, voegt u deze code toe aan het functie-bestand van uw thema.

function fb_disable_feed() {
wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );
}

add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

Wijzig de excerpt-lengte in WordPress

WordPress beperkt de excerpt-lengte tot 55 woorden. Als je dat wilt veranderen, dan kun je deze code toevoegen aan je functiesbestand. Wijzig het cijfer 100 in het aantal woorden dat u in de excerpts wilt weergeven.

function new_excerpt_length($length) {
return 100;
}
add_filter('excerpt_length', 'new_excerpt_length');

Voeg een Admin-gebruiker toe in WordPress

Als u uw WordPress-wachtwoord en e-mailadres bent vergeten, kunt u een beheerder toevoegen door deze code toe te voegen aan het functions.php van uw thema met behulp van een FTP-client of hostingpaneel.

function wpb_admin_account(){
$user = 'Username';
$pass = 'Password';
$email = 'email@domain.com';
if ( !username_exists( $user )  && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
} }
add_action('init','wpb_admin_account');

Vergeet niet de velden voor gebruikersnaam, wachtwoord en e-mail in te vullen. Vergeet na het inloggen op uw WordPress-site niet om de code uit uw functiesbestand te verwijderen.

Verwijder Welcome Panel van WordPress Dashboard

verberg welcome panel Wordpress

Het welkomstscherm is een metabox die is toegevoegd aan het dashboard van het WordPress-beheergebied. Het biedt handige snelkoppelingen voor beginners om dingen te doen op hun nieuwe WordPress-site. U kunt eenvoudig verbergen door onderstaande code toe te voegen aan uw functiesbestand.

remove_action('welcome_panel', 'wp_welcome_panel');

Totaal aantal geregistreerde gebruikers weergeven in WordPress

Wilt u het totale aantal geregistreerde gebruikers weergeven op uw WordPress-site? Voeg eenvoudig deze code toe aan het functions.php van uw thema.

// Function to return user count
function wpb_user_count() { 
$usercount = count_users();
$result = $usercount['total_users']; 
return $result; 
} 
// Creating a shortcode to display user count
add_shortcode('user_count', 'wpb_user_count');

Met deze code wordt een shortcode gemaakt waarmee u het totale aantal geregistreerde gebruikers op uw site kunt weergeven. Nu hoeft u alleen deze shortcode toe te voegen aan [user_count] uw bericht of pagina waar u het totale aantal gebruikers wilt weergeven.

Schakel Shortcodes in tekstwidgets in

Standaard voert WordPress geen shortcodes uit in tekstwidgets. Om dit op te lossen, moet u deze code toevoegen aan het functie-bestand van uw thema.

// Enable shortcodes in text widgets
add_filter('widget_text','do_shortcode');

Voeg oneven en even CSS-klassen toe aan WordPress berichten

Mogelijk hebt u WordPress-thema's gezien met een oneven of even klasse voor WordPress-opmerkingen. Het helpt gebruikers te visualiseren waar een opmerking eindigt en de volgende begint. U kunt dezelfde techniek gebruiken voor uw WordPress-berichten. Het ziet er esthetisch aantrekkelijk uit en helpt gebruikers om snel pagina's met veel inhoud te scannen. Voeg eenvoudig deze code toe aan het functions.php bestand van uw thema.

function oddeven_post_class ( $classes ) {
   global $current_class;
   $classes[] = $current_class;
   $current_class = ($current_class == 'odd') ? 'even' : 'odd';
   return $classes;
}
add_filter ( 'post_class' , 'oddeven_post_class' );
global $current_class;
$current_class = 'odd';

Deze code voegt een oneven of even klasse toe aan WordPress-berichten. U kunt nu aangepast CSS toevoegen om ze anders te stijlen. Hier is een voorbeeldcode om u op gang te helpen.

.even {
background:#f0f8ff;  
} 
.odd {
 background:#f4f4fb;
}

Het resultaat zal er op deze manier uitzien.

even en oneven achtergrondkleuren wordpress berichten

Voeg extra bestandstypen toe om te uploaden in WordPress

Standaard kunt u met WordPress een beperkt aantal meestgebruikte bestandstypen uploaden. U kunt het echter uitbreiden om andere bestandstypen toe te staan. Voeg deze code toe aan het functiebestand van uw thema:

function my_myme_types($mime_types){
    $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
    $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Met deze code kunt u SVG- en PSD-bestanden uploaden naar WordPress. U moet Google opzoeken om na te gaan wat de mime-typen zijn voor de bestandstypen die u wilt toestaan en deze vervolgens in de code gebruiken.

Verwijder standaard afbeeldingslinks in WordPress

Wanneer u een afbeelding uploadt in WordPress, wordt deze standaard gekoppeld aan het afbeeldingsbestand of de bijlagepagina. Als gebruikers op de afbeelding klikken, worden ze naar een nieuwe pagina weg van je post gebracht. Hier ziet u hoe u WordPress gemakkelijk kunt stoppen om uploads van afbeeldingen automatisch te koppelen. Het enige dat u hoeft te doen is dit codefragment aan uw functie-bestand toe te voegen:

function wpb_imagelink_setup() {
    $image_set = get_option( 'image_default_link_type' );
     
    if ($image_set !== 'none') {
        update_option('image_default_link_type', 'none');
    }
}
add_action('admin_init', 'wpb_imagelink_setup', 10);

Als u nu een nieuwe afbeelding in WordPress uploadt, wordt deze niet automatisch gekoppeld. U kunt het nog steeds koppelen aan het bestand of de bijlagepagina als u dat wilt.

Wordpress afbeelding ongelinkt

Voeg een auteur infobox toe in WordPress berichten

Als u een site met meerdere auteurs heeft en aan het einde van uw bericht bios van auteurs wilt laten zien, kunt u deze methode proberen zonder een plugin te hoeven gebruiken. Begin door deze code toe te voegen aan uw functiesbestand:

function wpb_author_info_box( $content ) {
 
global $post;
 
// Detecteer of het een enkele post is met een postauteur
if ( is_single() && isset( $post->post_author ) ) {
 
// Haal de weergavenaam van de auteur op 
$display_name = get_the_author_meta( 'display_name', $post->post_author );
 
// Als weergavenaam niet beschikbaar is, gebruikt u bijnaam als weergavenaam
if ( empty( $display_name ) )
$display_name = get_the_author_meta( 'nickname', $post->post_author );
 
// Verkrijg de biografische informatie of beschrijving van de auteur
$user_description = get_the_author_meta( 'user_description', $post->post_author );
 
// Krijg auteur's website URL 
$user_website = get_the_author_meta('url', $post->post_author);
 
// Verkrijg de link naar de auteursarchiefpagina
$user_posts = get_author_posts_url( get_the_author_meta( 'ID' , $post->post_author));
  
if ( ! empty( $display_name ) )
 
$author_details = '<p class="author_name">About ' . $display_name . '</p>';
 
if ( ! empty( $user_description ) )
// Auteur avatar and bio
 
$author_details .= '<p class="author_details">' . get_avatar( get_the_author_meta('user_email') , 90 ) . nl2br( $user_description ). '</p>';
 
$author_details .= '<p class="author_links"><a href="'. $user_posts .'">Bekijk alle berichten van ' . $display_name . '</a>';  
 
// Controleer of de auteur een website in zijn profiel heeft
if ( ! empty( $user_website ) ) {
 
// Toon auteurswebsite link
$author_details .= ' | <a href="' . $user_website .'" target="_blank" rel="nofollow">Website</a></p>';
 
} else { 
// als er geen website van de auteur is, sluit dan gewoon de alinea
$author_details .= '</p>';
}
 
// Geef al deze informatie door aan de bericht inhoud  
$content = $content . '<footer class="author_bio_section" >' . $author_details . '</footer>';
}
return $content;
}
 
// Voeg onze functie toe aan het post-inhoudfilter
add_action( 'the_content', 'wpb_author_info_box' );
 
// Sta HTML toe in auteur biosectie 
remove_filter('pre_user_description', 'wp_filter_kses');

Vervolgens moet je wat aangepaste CSS toevoegen om het er beter uit te laten zien. U kunt dit voorbeeld-CSS als uitgangspunt gebruiken.

.author_bio_section{
background: none repeat scroll 0 0 #F5F5F5;
padding: 15px;
border: 1px solid #ccc;
}
 
.author_name{
font-size:16px;
font-weight: bold;
}
 
.author_details img {
border: 1px solid #D8D8D8;
border-radius: 50%;
float: left;
margin: 0 10px 10px 0;
}

Schakel XML-RPC uit in WordPress

XML-RPC is een methode waarmee externe apps op afstand kunnen communiceren met uw WordPress-site. Dit kan beveiligingsproblemen veroorzaken en kan worden misbruikt door hackers. Voeg eenvoudig deze code toe aan uw functiesbestand om XML-RPC in WordPress uit te schakelen:

add_filter('xmlrpc_enabled', '__return_false');


Wordpress theme DIVI, 580.000x verkocht!

Divi