WordPress-Hacks für die Website nur für Mitglieder

Veröffentlicht: 2020-05-19

Standardmäßig ist WordPress ein Blogging-Tool. Trotzdem können Sie es wirklich anpassen, um es so zu gestalten, wie Sie es möchten. Viele Leute verwenden WordPress, um eine Website nur für Mitglieder zu erstellen.

Sie können immer ein Plugin verwenden, aber wenn Sie nur eine kleine Änderung benötigen, warum sollten Sie ein Plugin installieren, wenn Sie dies mit wenigen Codezeilen tun können. Hier sind einige einfache, aber effektive Hacks zum Erstellen einer Website nur für Mitglieder.

Inhalt nur für Mitglieder ohne Plugin

Wenn Sie bestimmte Inhalte auf Ihrer Website nur dem registrierten Mitglied zeigen möchten, können Sie dies tun, indem Sie den folgenden Code in Ihrem Design verwenden. Was zwischen is_user_logged_in , wird nur von Mitgliedern gesehen.

<?php if ( is_user_logged_in() ) { ?>
// Content for Logged in user
<?php } else {?>
// Content for everyone else
<?php }?>

WordPress Hacks for Members Only Website

WordPress-Anmeldeformular überall anzeigen und anpassen

Wenn Sie das WordPress-Anmeldeformular irgendwo in Ihr Design einfügen möchten, können Sie dies mit der folgenden Funktion tun:

<?php ks29so_login_form(); ?>

Es gibt Ihnen jedoch nicht die Möglichkeit, das Anmeldeformular anzupassen, da es einfach direkt das Standard-WordPress-Anmeldeformular abruft. Was ist, wenn Sie so etwas zeigen möchten?

Hier ist Code, um das zu tun. Fügen Sie den folgenden Code dort ein, wo das Formular angezeigt werden soll.

// WordPress Login Form
<?php if (!(current_user_can(‘level_0′))){ ?>
<h3>Member Login</h3>
<form action="<?php echo get_option(‘home’); ?>/wp-login.php" method="post">
<table width=’100%’ cellspacing="0" cellpadding="0">
<tr>
<td>
<label><?php _e( ‘Username’ ) ?></label>
<input type="text" name="log" class="input" value="<?php echo attribute_escape(stripslashes($user_login)); ?>" />
</td>
<td>
<label><?php _e( ‘Password’ ) ?></label>
<input type="password" name="pwd" class="input" value="" />
</td>
</tr>
<tr>
<td colspan="2"><?php do_action(‘login_form’); ?>
</td>
</tr>
<tr>
<td>
<a href="<?php echo site_url(‘wp-login.php?action=lostpassword’, ‘login’) ?>" title="<?php _e(‘Password Lost and Found’) ?>"><?php _e(‘Forgot Password?’) ?></a>
</td>
<td>
<input type="submit" name="submit" value="Log In" class="button" />
<input type="hidden" name="redirect_to" value="http://<?php echo $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'] ?>" />
</td>
</tr>
</table>
</form>
<?php } else { ?>
<!– When User logged in Show the following info –>
<h2>Logout</h2>
<?php get_currentuserinfo();?>
Welcome Back &nbsp<?php echo($current_user->user_login . " ");?><br />
<a href="<?php echo ks29so_logout_url(urlencode($_SERVER['REQUEST_URI'])); ?>">Logout</a><br />
<a href="<?php echo get_admin_url(); ?>">Admin?</a><!– If you are admin goes to admin dashboard –>
<?php }?>

Sie können ein CSS-Div-Tag hinzufügen, um es zu gestalten. Der Vorteil bei der Verwendung dieses Anmeldeformulars ist, dass Sie mit der Funktion get_currentuserinfo() fast ein Mini-Dashboard für Mitglieder erstellen und alle Informationen über den Benutzer anzeigen können.

Benutzerdefiniertes WordPress-Menü für Mitglieder

Wie Inhalte können Sie ein benutzerdefiniertes WordPress-Menü für Mitglieder erstellen. Lassen Sie uns zuerst das Menü registrieren. Gehen Sie zu Ihrer Theme-Funktionsdatei (functions.php). Verwenden Sie den folgenden Code, um die Menüs zu registrieren.

register_nav_menus( array(
‘primary’ => __( ‘Primary Navigation’, ‘twentyten’ ),
‘visitor’ => __( ‘Visitor Navigation’, ‘twentyten’ ),
‘footer’ => __( ‘Footer Navigation’, ‘twentyten’ ),
) );

Fügen Sie nun den folgenden Code dort ein, wo Ihr Menü angezeigt werden soll, höchstwahrscheinlich in der Datei header.php.

<?php
if ( is_user_logged_in() ) {
ks29so_nav_menu( array( ‘container_class’ => ‘menu-header’, ‘theme_location’ => ‘primary’ ) );
} else {
ks29so_nav_menu( array( ‘container_class’ => ‘menu-header’, ‘theme_location’ => ‘visitor’ ) );
};?>

Jetzt müssen Sie das Menü tatsächlich auf WordPress-Rückhand erstellen. Die Einstellung „Menüs“ sollte sich auf der Registerkarte „Darstellung“ befinden. Erstellen Sie ein Menü mit den Namen „main“ und „visitor“. Fügen Sie in beiden Menüs hinzu, was Sie zeigen möchten. Beispiel: Wenn Sie möchten, dass eine Seite nur angezeigt wird, wenn der Benutzer angemeldet ist, fügen Sie sie im Hauptmenü hinzu.

Auf die gleiche Weise können Sie auch ein dynamisches Fußzeilenmenü erstellen.

Benutzerdefinierte WordPress-Felder und -Hacks für Blogger

Sie können WordPress verwenden, um eine benutzerdefinierte und professionell aussehende Website zu erstellen. In diesem Beitrag teilen wir einige benutzerdefinierte WordPress-Feldtricks und -Hacks, die es Ihnen ermöglichen, eine bessere WordPress-basierte Website zu haben.

Manchmal kann es Gastblogger geben, die nur einen Beitrag auf Ihrer Website schreiben, und das ist alles. Sie können diese Methode verwenden, um reguläre Autoreninformationen anzuzeigen. Denken Sie daran, dass der Autor in WordPress registriert wurde. Vielleicht möchten Sie sich nicht jedes Mal registrieren, wenn ein neuer Gastautor schreibt. Aber wie erhalten Sie trotzdem Informationen zu Gastautoren, die im gleichen Format wie reguläre Autoren angezeigt werden? Benutzerdefinierte Felder!

Name des Gastautors auf der Titelseite und in einzelnen Beiträgen

Als erstes müssen wir eine WordPress-if-Anweisung setzen, um den benutzerdefinierten Feldwert zu erhalten. Auf diese Weise wird es nur angezeigt, wenn der benutzerdefinierte Dateiwert zugewiesen wurde. Öffnen Sie Ihre „index.php“ und „single.php“ und fügen Sie den folgenden Code dort ein, wo der Autorenname angezeigt werden soll. Es könnte nach dem Datum oder nach Kommentaren sein. Zum Beispiel nach diesem Code:

<?php the_time(‘M j, Y’) ?>
< ?php if ( get_post_meta($post->ID, 'guest_author_name', true) ) { ?>
// check to see if custom field guest author name exists
< ?php echo get_post_meta($post->ID, "guest_author_name", $single = true); ?>
< ?php } ?>\

Sobald wir die if-Anweisung eingefügt haben, rufen wir sie einfach in dem Post auf, in dem der Name des Gastautors angezeigt werden soll. Der Name des Gastautors sollte auf der Titelseite und nur für bestimmte Beiträge erscheinen.

Gastautor-Informationsblock für einzelne Beiträge

Okay, wir haben also den Namen in der Post-Meta-Beschreibung, aber ein paar Informationen über den Gastautor wären auch nett.

Auch hier haben wir zuerst eine bedingte if-Anweisung, die nach dem Daumen und der Beschreibung des Autorenbildes sucht. Vergessen Sie nicht, das Bild im Verzeichnis zu ändern. Außerdem haben wir dem Block und dem Daumen eine Klasse angehängt, die es ermöglicht, sowohl das Bild als auch den Block mit CSS zu gestalten.

<?php if ( get_post_meta($post->ID, ‘autho_thumb’, true) ) { ?> // checks to see if the custom field exist
<div class="writer_bio">
<img class="autho_thumb" src="http://media.webdesignviews.com/author/<?php $values = get_post_custom_values("autho_thumb"); echo $values[0]; ?>" alt="Author Thumb" width="60" width="60" height="60" /><?php } ?
<?php if ( get_post_meta($post->ID, ‘guest_author’, true) ) { ?>
<?php echo get_post_meta($post->ID, "guest_author", $single = true); ?></div>
<?php } ?>

Hier ist das CSS, das ich verwendet habe

.writer_bio {
color: #666;
background: #eee;
text-transform: none !important;
font-size: 13px;
font-weight: normal;
height: 75px;
width: 600px;
padding: 6px;
padding-bottom: 6px;
padding-left: 0;
margin-bottom: 10px;
}
.writer_bio img {
padding: 0 !important;
float: left !important;
margin-left: 4px !important;
margin-top: 3px !important;
border: 2px #ccc solid !important;
height: 60px;
}

Mit der Klasse autoro_thumb stylen Sie sogar noch mehr. Sobald dies erledigt ist, müssen Sie nur noch autor_thumb und guest_author in das Feld einfügen und die Informationen ausfüllen. Sie können sogar HTML wie einen Link in benutzerdefinierten Feldern hinzufügen.

Dort haben Sie also zwei benutzerdefinierte Felder für Gastautorinformationen. Dies mag wie viele Schritte erscheinen. Vertrauen Sie mir, wenn Sie es einmal getan haben, müssen Sie nur das Bild und die Beschreibung hinzufügen, wenn Sie es das nächste Mal tun möchten.

Besseres benutzerdefiniertes Feld zum Anzeigen des Beitragsbilds auf der Startseite

Diese Methode wird verwendet, um einen Daumen für den Beitrag auf der Vorderseite anzuzeigen. Ich wollte es ein bisschen weiter bringen und es dem Front-End-Benutzer leicht machen. Außerdem hätten mit Jeans Methode alle Bilder das gleiche alt=”post-image” und ich wäre vielleicht nicht gut für Suchmaschinen. Außerdem müssten Sie jedes Mal die vollständige URL für Bilder angeben. Hier erstmal der Code:

<?php $postimageurl = get_post_meta($post->ID, ‘post-img’, true);
// variable for image
$image_alt = get_post_meta($post->ID, ‘post-img’, true);// variable for description
// check if the the custom field is called
if ($postimageurl) {
?>
<a href="<?php the_permalink(); ?>" rel="bookmark"><img src="<?php echo $postimageurl; ?>" class=
quot;post-img" alt="<?php echo $image_alt; ?>"; width="500" height="300" /></a>
<?php } else { ?>

Bevor ich den Code erkläre, beachten Sie, dass ich keine else-Anweisung für einen Standarddaumen hinzugefügt habe. Sehen Sie sich Jeans Beitrag an, wenn Sie ein Standardbild haben möchten, wenn dieses Bild im benutzerdefinierten Feld zugewiesen ist.

Zuerst haben wir zwei Variablen $postimageurl und $image_alt. Die erste besteht darin, den Bildspeicherort zu ermitteln, und die zweite besteht darin, den Bildnamen hinzuzufügen. Dann setzen wir wieder eine if-Anweisung, um zu prüfen, ob das benutzerdefinierte Feld aufgerufen wird.

<?php echo get_option(‘siteurl’).‘/wp-content/uploads/thumb/’?>

Die andere Sache ist der obige Code, der den Bildspeicherort erhält. Ich habe in meinem WordPress-Upload-Verzeichnis einen Ordner namens thumb erstellt. Anstatt also jedes Mal die gesamte URL einzugeben, gebe ich einfach den Bildnamen ein, sobald ich das Bild in den Ordner hochgeladen habe.

Wenn Sie ein anderes Verzeichnis wünschen, beispielsweise wenn Sie Ihre Bilder im Stammverzeichnis Ihrer Domain speichern möchten, ersetzen Sie einfach <?php echo get_option('siteurl').'/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?> <?php echo get_option('siteurl').'/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?> mit http://yourwebsite.com/images/<?php echo $postimageurl; ?> http://yourwebsite.com/images/<?php echo $postimageurl; ?> .

Der Code ist also ein wenig optimiert, sodass jedes Beitragsbild einen anderen Alt (Titel) hat und Sie die Bildnamenerweiterung anstelle der gesamten URL eingeben würden.

Gestalten Sie Ihre WordPress-Navigation nach Ihren Wünschen

Das erste, was Sie wissen sollten, sind WordPress-Listenseiten, die das Tag ks29so_list_pages verwenden, das sich normalerweise in header.php befindet. aber vielleicht möchten Sie nicht alle Ihre Seiten auflisten. Wenn Sie verhindern möchten, dass einige Ihrer Seiten angezeigt werden, gehen Sie wie folgt vor:

<?php ks29so_list_pages(‘include=7,13′ ); ?>
//or
<?php ks29so_list_pages(‘exclude=5,9′);? >

Ausschließen oder Einschließen funktioniert fast genauso. Ausschließen lässt bestimmte Seiten aus der WordPress-Seitenliste aus und enthält nur die von Ihnen angegebene Seiten-ID. Die meisten Webdesign-Blogs oder andere Blogs verwenden jedoch gerne Tags oder Kategorien als Navigation. In diesem Fall können Sie einfach das ks29so_list-Tag entfernen und die Navigation benutzerdefinierten Code erstellen. Alternativ können Sie dies auch mit Ihren Tags tun. Der Vorteil der Codierung auf diese Weise ist, dass Sie CSS-Klassen zuweisen können, um jedes Element der Navigation zu gestalten.

So finden Sie Ihre WordPress-Seiten-ID

Ich musste kürzlich eine Seiten-ID zum Ausschließen in einer von mir verwendeten Vorlage finden und fand nach etwa 10 Minuten endlich einen einfachen Weg, die Seiten-ID einer WordPress-'Seite' zu finden.

In älteren Versionen von WordPress war dies meiner Meinung nach einfacher, aber hier ist, wie Sie es jetzt tun können.

  1. Gehen Sie in das WordPress-Admin-Panel und dann zu Seiten.
  2. Bewegen Sie dann den Mauszeiger über die Seite, deren ID Sie wissen möchten.
  3. Sie sehen die ID in der Statusleiste am unteren Rand des Browsers (siehe unten).

Wenn Sie die vollständige Adresse nicht sehen können, versuchen Sie es auf einem anderen Weg (weiter unten).

  1. Gehen Sie in das WordPress-Admin-Panel und dann zu Seiten.
  2. Dann sehen Sie die ID in der Adressleiste. Es ist die Zahl nach dem Gleichheitszeichen.
  3. Klicken Sie auf die Seite, deren ID Sie wissen möchten.

Archivthema wird angezeigt

Die meisten WordPress-Themes werden mit der Seite archive.php geliefert. Aber ich habe viele Websites gesehen, bei denen die Archivseiten nicht sehr hilfreich sind und den Benutzern nicht sagen, welches Thema oder welche Kategorien sie durchsuchen. Sie können die folgenden Codes in Ihre archive.php einfügen, um Verwirrung zu vermeiden.

<?php /* If this is a category archive */ if (is_category()) { ?>
<h3 class="pagetitle">Current Browsing Topic: &#8216;<?php single_cat_title(); ?>&#8217;</h3>
<?php /* If this is a tag archive */ } elseif( is_tag() ) { ?>
<h3 class="pagetitle">Posts Tagged &#8216;<?php single_tag_title(); ?>&#8217;</h3>