WordPress-hack för endast medlemmar webbplats

9

Som standard är WordPress ett bloggverktyg. Ändå kan du verkligen anpassa för att göra det som du vill. Många använder WordPress för att skapa en webbplats som endast är medlemmar.

Du kan alltid använda en plugin, men om du bara behövde en liten modifiering, varför installera en plugin när du kan göra det med några rader kod. Här är några enkla men effektiva hacks för att skapa en webbplats endast för medlemmar.

Innehåll endast för medlemmar utan plugin

Om det finns visst innehåll på din webbplats som du bara ville visa för den registrerade medlemmen kan du göra det genom att använda följande kod i ditt tema. Vad som än går emellan is_user_logged_inkommer endast medlemmar att se.

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

Visa WordPress-inloggningsformulär var som helst och anpassa det

Om du vill inkludera WordPress-inloggningsformulär var som helst i ditt tema kan du göra det genom att använda följande funktion:

<?php ks29so_login_form(); ?>

Det ger dig dock inte möjlighet att anpassa inloggningsformuläret, eftersom det bara direkt drar standardinloggningsformuläret för WordPress. Tänk om du vill visa något sånt här?

Här är kod för att göra det. Klistra in följande kod där du vill att formuläret ska dyka upp.

// 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  <?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 }?>

Du kan lägga till en CSS div-tagg för att utforma den. Fördelen med att använda detta inloggningsformulär kan du nästan skapa en mini-dashboard för medlemmar genom att använda funktionen get_currentuserinfo() och visa all information om användaren.

Anpassad WordPress-meny för medlemmar

Som innehåll kan du skapa en anpassad WordPress-meny för medlemmar. Låt oss först registrera menyn. Gå till din temafunktionsfil (functions.php). Använd följande kod för att registrera menyerna.

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

Lägg nu följande kod där du vill att din meny ska dyka upp, troligtvis i filen 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’) );
};?>

Nu måste du faktiskt skapa menyn på WordPress backhand. Inställningen "Menyer" ska finnas under fliken Utseende. Skapa en meny med namnet huvud och besökare. Lägg till vad du vill visa på båda menyerna. Till exempel: om du vill att en sida bara ska visas när användaren är inloggad, lägg till den huvudmenyn.

Du kan också skapa en dynamisk sidfotsmeny med samma metod.

WordPress anpassade fält och hacks för bloggare

Du kan använda WordPress för att skapa en anpassad och professionell webbplats. I det här inlägget delar vi några anpassade WordPress-tricks och hacks som gör att du kan få en bättre WordPress-driven webbplats.

Ibland kan det finnas gästbloggare som bara skriver ett inlägg på din sida och det är allt. Du kan använda den här metoden för att visa vanlig författarinformation. Tänk på att författaren har registrerats i WordPress. Kanske vill du inte registrera dig varje gång en ny gästförfattare skriver. Men hur får man ändå gästförfattarinformation att dyka upp i samma format som vanlig författare? Anpassade fält!

Gästförfattarens namn på förstasidan och enskilda inlägg

Det första vi behöver göra är att ställa in en WordPress if-sats för att få det anpassade fältvärdet. På så sätt kommer det bara att visas när det anpassade filvärdet tilldelas. Öppna dina "index.php" och "single.php" och klistra in följande kod där du vill att författarens namn ska dyka upp. Det kan vara efter datum eller efter kommentarer. Till exempel efter denna kod:

<?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 } ?>

När vi väl har satt if-satsen kallar vi det bara för vilket inlägg vi vill att gästförfattarens namn ska dyka upp. Gästförfattarens namn bör visas på förstasidan och endast för ett specifikt inlägg.

Informationsblock för gästförfattare på individuellt inlägg

Okej, så vi har namnet som visas i inläggets metabeskrivning, men lite information om gästförfattaren skulle också vara trevligt.

Återigen, först har vi ett villkorligt if-uttalande som letar efter författarens bildtumme och beskrivning. Glöm inte att ändra bilden i katalogen. Vi kopplade också en klass till blocket och tummen, det gör det möjligt att styla både bilden och blocket med CSS.

<?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 } ?>

Här är CSS jag använde

.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;
}

Du stylar till och med mer med klassen autho_thumb. När det är gjort är allt du behöver göra att lägga till autho_thumb och guest_author i fältet och fylla i informationen. Du kan till och med lägga till HTML som länk i anpassat fält.

Så där har du två anpassade fält för gästförfattarinformation. Det här kan tyckas vara många steg. Lita på mig när du har gjort det, det är bara att lägga till bilden och beskrivningen nästa gång du vill göra det.

Bättre anpassat fält för att visa inläggsbild på framsidan

Denna metod används för att visa en tumme för stolpen på framsidan. Jag ville ta det lite längre och göra det enkelt för frontend-användaren. Dessutom, med Jeans metod skulle alla bilderna ha samma alt="post-image” och jag kanske inte är bra för sökmotorer. Dessutom skulle du behöva inkludera hela webbadressen för bilder varje gång. Först här är koden:

<?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 { ?>

Innan jag förklarar koden, lägg märke till att jag inte lade till ett annat uttalande för en standardtumme. Titta på Jeans inlägg om du vill ha en standardbild om så bild är tilldelad i anpassat fält.

Först har vi två variabler $postimageurl och $image_alt. Den första är att få bildens plats och den andra är att lägga till bildens namn. Sedan ställer vi igen en if-sats för att kontrollera om det anpassade fältet anropas.

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

Det annorlunda är ovan koden som får bildens plats. Jag har skapat en mapp som heter tumme i min WordPress-uppladdningskatalog, så istället för att skriva hela URL:en varje gång skulle jag bara skriva in bildnamnet när jag laddade upp bilden i mappen.

Om du vill ha en annan katalog som låt oss säga att du skulle lagra dina bilder i roten på din domän, ersätt bara <?php echo get_option(‘siteurl’).‘/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?>med http://yourwebsite.com/images/<?php echo $postimageurl; ?>.

Så, koden är lite tweaked så att varje inläggsbild skulle ha en annan alt (titel) och du skulle skriva bildnamnstillägget snarare än hela webbadressen.

Ordna din WordPress-navigering hur du vill

Det första du bör veta är wordpress listsidor som använder taggen ks29so_list_pages, som vanligtvis finns i header.php. men du kanske inte vill lista alla dina sidor. Om du vill dölja några av dina sidor från att dyka upp gör du så här:

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

Exkludera eller inkludera fungerar nästan på samma sätt. Exclude kommer att utesluta vissa sidor från WordPress sidlista och inkludera visar endast det sid-ID du anger. Men de flesta av webbdesignbloggarna eller andra bloggar gillar att använda taggar eller kategorier som navigering. I så fall kan du bara bli av med ks29so_list-taggen och anpassa navigeringen. Alternativt kan du göra det med dina taggar också. Fördelen med att koda på detta sätt kan du tilldela CSS-klass för att utforma varje element i navigeringen.

Hur du hittar ditt WordPress-sida-ID

Jag var nyligen tvungen att hitta ett sid-ID för uteslutning i en mall som jag använde och efter cirka 10 minuter hittade jag äntligen ett enkelt sätt att hitta sid-ID:t för en WordPress-sida.

I äldre versioner av WordPress tror jag att detta var lättare, men så här kan du göra det nu.

  1. Gå in på WordPress adminpanel och gå sedan till Pages.
  2. Håll sedan muspekaren över sidan som du vill veta ID för.
  3. Du kommer att se ID:t i statusfältet längst ner i webbläsaren (se nedan).

Om du inte kan se hela adressen, försök på ett annat sätt (längre nedan).

  1. Gå in på WordPress adminpanel och gå sedan till Pages.
  2. Då ser du ID i adressfältet. Det blir siffran efter likhetstecknet.
  3. Klicka på sidan som du vill veta ID för.

Visar arkivämne

De flesta WordPress-teman kommer med archive.php-sidan. Men jag har sett många webbplatser där arkivsidorna inte är särskilt användbara och inte talar om för användarna vilket ämne eller vilka kategorier de bläddrar i. Du kan lägga till följande koder i din archive.php för att undvika förvirring.

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

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More