WordPress-hacks for kun medlemmer

11

Som standard er WordPress et bloggverktøy. Likevel kan du virkelig tilpasse for å gjøre det slik du vil. Mange bruker WordPress for å lage et nettsted for medlemmer.

Du kan alltid bruke en plugin, men hvis du bare trengte en liten modifikasjon, hvorfor installere en plugin når du kan gjøre det med få linjer med kode. Her er noen enkle, men effektive hacks for å opprette et medlemsnettsted.

Innhold kun for medlemmer uten plugin

Hvis det er bestemt innhold på nettstedet ditt du bare ønsket å vise til det registrerte medlemmet, kan du gjøre det ved å bruke følgende kode i temaet ditt. Det som går mellom is_user_logged_invil bli sett av kun medlemmer.

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

Vis WordPress-påloggingsskjemaet hvor som helst og tilpass det

Hvis du vil inkludere WordPress påloggingsskjema hvor som helst i temaet ditt, kan du gjøre det ved å bruke følgende funksjon:

<?php ks29so_login_form(); ?>

Det gir deg imidlertid ikke muligheten til å tilpasse påloggingsskjemaet, fordi det bare trekker standard WordPress-påloggingsskjema direkte. Hva om du vil vise noe slikt?

Her er kode for å gjøre det. Lim inn følgende kode der du vil at skjemaet skal vises.

// 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 legge til en CSS div-tag for å style den. Fordelen med å bruke dette påloggingsskjemaet kan du nesten lage et mini dashbord for medlemmer ved å bruke get_currentuserinfo() funksjonen og vise all informasjon om brukeren.

Tilpasset WordPress-meny for medlemmer

Som innhold kan du lage tilpasset WordPress-meny for medlemmer. La oss registrere menyen først. Gå til temafunksjonsfilen (functions.php). Bruk følgende kode for å registrere menyene.

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

Sett nå følgende kode der du vil at menyen skal vises, mest sannsynlig inne i header.php-filen.

<?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’) );
};?>

Nå må du faktisk lage menyen på WordPress backhand. "Menyer"-innstillingen bør være under Utseende-fanen. Lag en meny med navnet hoved og besøkende. På begge menyene legger du til det du vil vise. For eksempel: hvis du vil at en side bare skal vises når brukeren er logget på, legg den til hovedmenyen.

Du kan også lage en dynamisk bunntekstmeny ved å bruke samme metode.

WordPress tilpassede felt og hacks for bloggere

Du kan bruke WordPress til å lage et tilpasset og profesjonelt utseende nettsted. I dette innlegget deler vi noen WordPress-tilpassede felttriks og hacks som lar deg ha et bedre WordPress-drevet nettsted.

Noen ganger kan det være gjestebloggere som bare skriver ett innlegg på siden din, og det er alt. Du kan bruke denne metoden til å vise vanlig forfatterinformasjon. Husk at forfatteren er registrert i WordPress. Kanskje du ikke ønsker å registrere deg hver gang en ny gjesteforfatter skriver. Men hvordan får du fortsatt gjesteforfatterinformasjon til å vises i samme format som vanlig forfatter? Egendefinerte felt!

Gjesteforfatternavn på forsiden og individuelle innlegg

Det første vi må gjøre er å angi en WordPress if-setning for å få den tilpassede feltverdien. På denne måten vil den bare vises når den tilpassede filverdien er tildelt. Åpne "index.php" og "single.php" og lim inn følgende kode der du vil at forfatternavnet skal vises. Det kan være etter dato eller etter kommentarer. For eksempel etter denne koden:

<?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 har satt if-setningen, kaller vi den bare på det innlegget vi vil at gjesteforfatterens navn skal vises. Gjesteforfatternavnet skal vises på forsiden og kun for spesifikke innlegg.

Gjesteforfatterinformasjonsblokk på individuelle innlegg

Ok, så vi har navnet som vises i innleggets metabeskrivelse, men litt informasjon om gjesteforfatteren ville også vært fint.

Igjen, først har vi betinget if-utsagn som ser etter forfatterens bildetommel og beskrivelse. Ikke glem å endre bildet i katalogen. Vi har også knyttet en klasse til blokken og tommelen, den lar deg style både bildet og blokken ved hjelp av 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 } ?>

Her er CSS-en jeg brukte

.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 styler enda mer med klassen auto_thumb. Når det er gjort er alt du trenger å gjøre å legge til autho_thumb og guest_author i feltet og fylle ut informasjonen. Du kan til og med legge til HTML som lenke i tilpasset felt.

Så der har du to egendefinerte felt for gjesteforfatterinformasjon. Dette kan virke som mange trinn. Stol på meg når du har gjort det, det er bare å legge til bildet og beskrivelsen neste gang du vil gjøre det.

Bedre tilpasset felt for visning av innleggsbilde på forsiden

Denne metoden brukes til å vise en tommel for stolpen på forsiden. Jeg ønsket å ta det litt lenger og gjøre det enkelt for frontend-brukeren. Dessuten, med Jeans metode ville alle bildene ha samme alt="post-image” og jeg er kanskje ikke bra for søkemotorer. Dessuten må du inkludere hele URL-en for bilder hver gang. Først her er 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 { ?>

Før jeg forklarer koden, legg merke til at jeg ikke la til en else-setning for en standardtommel. Se på Jeans innlegg hvis du vil ha et standardbilde hvis så bildet er tildelt i tilpasset felt.

Først har vi to variabler $postimageurl og $image_alt. Den første er å få bildeplassering og den andre er å legge til bildenavnet. Så igjen setter vi en if-setning for å sjekke om det tilpassede feltet blir kalt.

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

Den forskjellige tingen er over koden som får bildeplasseringen. Jeg har opprettet en mappe kalt thumb i WordPress-opplastingskatalogen min, så i stedet for å skrive inn hele URL-en hver gang ville jeg bare skrive inn bildenavnet, når jeg lastet opp bildet i mappen.

Hvis du vil ha en annen katalog, for eksempel la oss si at du vil lagre bildene dine i roten til domenet ditt, er det bare å erstatte <?php echo get_option(‘siteurl’).‘/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?>med http://yourwebsite.com/images/<?php echo $postimageurl; ?>.

Så, koden er litt finjustert slik at hvert innleggsbilde vil ha en annen alt (tittel), og du vil skrive inn bildenavnet i stedet for hele nettadressen.

Ordne WordPress-navigasjonen slik du vil

Det første du må vite er wordpress-listesider som bruker ks29so_list_pages-taggen, som vanligvis ligger i header.php. men du vil kanskje ikke liste opp alle sidene dine. Hvis du vil skjule noen av sidene dine fra å vises, gjør du dette:

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

Ekskluder eller inkluder fungerer nesten på samme måte. Exclude vil utelate visse sider fra WordPress-sidelisten og inkludere viser bare side-ID-en du angir. Imidlertid liker de fleste webdesignbloggene eller andre blogger å bruke tagger eller kategorier som navigering. I så fall kan du bare kvitte deg med ks29so_list-taggen og tilpasse navigasjonen. Alternativt kan du gjøre det med taggene dine også. Fordelen med å kode på denne måten kan du tilordne CSS-klasse for å style hvert element i navigasjonen.

Slik finner du din WordPress-side-ID

Jeg måtte nylig finne en side-ID for ekskludering i en mal jeg brukte, og etter omtrent 10 minutter fant jeg endelig en enkel måte å finne side-IDen til en WordPress-side.

I eldre versjoner av WordPress tror jeg dette var enklere, men her er hvordan du kan gjøre det nå.

  1. Gå inn i WordPress-administrasjonspanelet og gå til Pages.
  2. Hold deretter musepekeren over siden du vil vite IDen til.
  3. Du vil se ID-en i statuslinjen nederst i nettleseren (se nedenfor).

Hvis du ikke kan se hele adressen, prøv en annen måte (lenger nedenfor).

  1. Gå inn i WordPress-administrasjonspanelet og gå til Pages.
  2. Da vil du se ID-en i adressefeltet. Det vil være tallet etter likhetstegnet.
  3. Klikk på siden du vil vite IDen til.

Viser arkivemne

De fleste WordPress-temaene kommer med archive.php-siden. Men jeg har sett mange nettsteder der arkivsidene ikke er veldig nyttige og ikke forteller brukerne hvilket emne eller hvilke kategorier de surfer på. Du kan legge til følgende koder i archive.php for å unngå forvirring.

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

Dette nettstedet bruker informasjonskapsler for å forbedre din opplevelse. Vi antar at du er ok med dette, men du kan velge bort det hvis du ønsker det. jeg aksepterer Mer informasjon