WordPress Cheatsheet

Auf dieser Seite stelle ich ein paar Code-Schnipsel zusammen, die man immer mal wieder benötigt, wenn man mit WordPress eine Seite aufbaut. 

Die Code-Schnipsel kommen in die functions.php des eigenen Themes. 

Menü für Unterseiten per Shortcode ausgeben

[childpages]

				
					//Unterseiten als Menü per Shortcode ausgeben
function list_child_pages() { 
    global $post; 
    if ( is_page() && $post->post_parent )
        $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' );
    else
        $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0' );
    if ( $childpages ) {
        $string = '
        <nav class="page-nav-childpages">
                <ul>
                   <li><a href="'.get_permalink($post->post_parent).'">'.get_the_title($post->post_parent).'</a></li>'
                   .$childpages.
               '</ul>
        </nav>';
    }
    return $string;
}
add_shortcode('childpages', 'list_child_pages');
				
			

Private Seiten für bestimmte Rollen freigeben

				
					//Private Seiten für Mitglieder freigeben
function privatepages() {
$subRole = get_role( 'subscriber' ); //Rollen hier ergänzen
$subRole->add_cap( 'read_private_posts' ); 
$subRole->add_cap( 'read_private_pages' ); 
}
add_action( 'init', 'privatepages' );
				
			

Custom Login Page (ohne Wocommerce)

Shortcode: [login-page]

				
					  function login_page()
  {
      $args = array(
        'echo'           => true,
        'remember'       => true,
        'redirect'       => ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'],
        'form_id'        => 'loginform',
        'id_username'    => 'user_login',
        'id_password'    => 'user_pass',
        'id_remember'    => 'rememberme',
        'id_submit'      => 'wp-submit',
        'label_username' => __( 'Username or Email Address' ),
        'label_password' => __( 'Password' ),
        'label_remember' => __( 'Remember Me' ),
        'label_log_in'   => __( 'Log In' ),
        'value_username' => '',
        'value_remember' => false
    );
    wp_login_form($args);
    add_lost_password_link();
  }
  add_shortcode('login-page', 'login_page');
				
			

Sprachumschalter für Polylang

				
					function custom_polylang_langswitcher() {
	$output = '';
	if ( function_exists( 'pll_the_languages' ) ) {
		$args   = [
			'show_flags' => 1,
			'show_names' => 1,
			'echo'       => 1,
		];
		$output = '<ul class="polylang_langswitcher">'.pll_the_languages( $args ). '</ul>';
	}

	return $output;
}

add_shortcode( 'polylang_langswitcher', 'custom_polylang_langswitcher' );
				
			
Nach oben