Scooterrijdster valt tijdens les op belgielaan

Haarlem – 28 – 10 – 2015 Scooterrijdster valt tijdens examen op de Belgiëlaan in Schalkwijk bij het uitwijken voor een op het zebrapad overstekende voetganger. Ter hoogte van de supermarkt, Frankrijklaan.

Woocommerce toegang tot admin dashboard

Woocommerce sluit de admin af voor alle gebruikers die geen posts kunnen bewerken. Als zij naar wp-admin gaan worden ze omgeleid naar /my-account/. Dit is handig in 90% van de gevallen maar een probleem als sommigen gebruikers bij /wp-admin/ moeten kunnen.

/* ALLOW REDACTEUR (EDITOR) TO ACCESS DASHBOARD AND ADMIN BAR*/

add_filter('woocommerce_disable_admin_bar', 'functie_disable_admin_bar', 10, 1);
 
function functie_disable_admin_bar($prevent_admin_access) {
    if (!current_user_can('editor')) {
        return $prevent_admin_access;
    }
    return false;
}
 
add_filter('woocommerce_prevent_admin_access', 'functie_prevent_admin_access', 10, 1);
 
function functie_prevent_admin_access($prevent_admin_access) {
    if (!current_user_can('editor')) {
        return $prevent_admin_access;
    }
    return false;
}
  1. Op www.role-editor.com staan nog enkele scripts waarmee bijvoorbeeld:
    De admin bar kan worden verborgen.
  2. De admin bar voor iedereen beschikbaar wordt.

output buffer

Het kan zijn dat je geen enkele mogelijkheid kan vinden om de output van wordpress aan te passen. In dat geval bestaat de mogelijkheid de output te bufferen. En voordat deze naar de browser gaat nog aan te passen.

Een praktisch  voorbeeld is dat als je het woordje home in de breadcrumb wil aanpassen in het geval een ‘single page’ van een custom posttype wordt opgeroepen.

Met onderstaande code kan elk woord worden aangepast. De output wordt even vastgehouden wat bijvoorbeeld de mogelijkheid geeft in de callback functie een stringreplace toe te voegen.

function callback($buffer) {
  // modify buffer here, and then return the updated code
  return $buffer;
}

function buffer_start() {
  ob_start("callback");
}

function buffer_end() {
  ob_end_flush();
}

add_action('wp_head', 'buffer_start');
add_action('wp_footer', 'buffer_end');

De vertraging van deze code wordt als minimaal beschouwd, maar de toepassing kan het beste worden geminimaliseerd. De voorkeur wordt toch gegeven aan het gebruik van filters, of directe aanpassing van de functie die de output gegenereerd voor de aan te passen output.

create new admin page

Admin menu with page – wordpress codex

<?php
/** Step 2 (from text above). */
add_action( 'admin_menu', 'my_plugin_menu' );

/** Step 1. */
function my_plugin_menu() {
	add_options_page( 'My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options' );
}

/** Step 3. */
function my_plugin_options() {
	if ( !current_user_can( 'manage_options' ) )  {
		wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
	}
	echo '<div class="wrap">';
	echo '<p>Here is where the form would go if I actually had options.</p>';
	echo '</div>';
}
?>

Add options page – wordpress codex

 <?php
add_options_page( $page_title, $menu_title, $capability, $menu_slug, $function);
?>