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 = '
';
}
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 = ' '.pll_the_languages( $args ). '
';
}
return $output;
}
add_shortcode( 'polylang_langswitcher', 'custom_polylang_langswitcher' );