WordPress Hack per il sito Web riservato ai membri

7

Per impostazione predefinita, WordPress è uno strumento di blogging. Tuttavia, puoi davvero personalizzare per renderlo come preferisci. Molte persone usano WordPress per creare un sito Web riservato ai membri.

Puoi sempre usare un plugin, ma se hai bisogno solo di una piccola modifica, perché installare un plugin quando puoi farlo con poche righe di codice. Ecco alcuni hack semplici ma efficaci per creare un sito riservato ai membri.

Contenuto riservato ai membri senza plug-in

Se ci sono determinati contenuti sul tuo sito che desideri mostrare solo al membro registrato, puoi farlo utilizzando il seguente codice nel tuo tema. Qualunque cosa vada in mezzo is_user_logged_insarà vista solo dai membri.

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

Mostra il modulo di accesso WordPress ovunque e personalizzalo

Se desideri includere il modulo di accesso di WordPress ovunque nel tuo tema, puoi farlo utilizzando la seguente funzione:

<?php ks29so_login_form(); ?>

Tuttavia, non ti dà la possibilità di personalizzare il modulo di accesso, perché si limita a richiamare direttamente il modulo di accesso predefinito di WordPress. E se volessi mostrare qualcosa del genere?

Ecco il codice per farlo. Incolla il seguente codice ovunque desideri che venga visualizzato il modulo.

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

Puoi aggiungere un tag div CSS per modellarlo. Il vantaggio di utilizzare questo modulo di accesso è che puoi quasi creare un mini dashboard per i membri utilizzando la funzione get_currentuserinfo() e mostrare tutte le informazioni sull'utente.

Menu WordPress personalizzato per i membri

Come i contenuti, puoi creare menu WordPress personalizzati per i membri. Registriamo prima il menu. Vai al file della funzione del tuo tema (functions.php). Utilizzare il seguente codice per registrare i menu.

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

Ora, inserisci il seguente codice dove vuoi che appaia il tuo menu, molto probabilmente all'interno del file 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’) );
};?>

Ora devi creare effettivamente il menu sul rovescio di WordPress. L'impostazione "Menu" dovrebbe trovarsi nella scheda Aspetto. Crea un menu con il nome principale e visitatore. In entrambi i menu aggiungi ciò che vuoi mostrare. Ad esempio: se vuoi che una pagina venga visualizzata solo quando l'utente ha effettuato l'accesso, aggiungila il menù principale.

Puoi anche creare un menu a piè di pagina dinamico utilizzando lo stesso metodo.

Campi personalizzati di WordPress e hack per i blogger

Puoi utilizzare WordPress per creare un sito Web personalizzato e dall'aspetto professionale. In questo post condividiamo alcuni trucchi e hack per i campi personalizzati di WordPress che ti permetteranno di avere un sito WordPress migliore.

A volte potrebbero esserci guest blogger che scrivono solo un post sul tuo sito e basta. È possibile utilizzare questo metodo per mostrare le normali informazioni sull'autore. Tieni presente che l'autore è stato registrato in WordPress. Forse non vuoi registrarti ogni volta che scrive un nuovo autore ospite. Ma come si ottengono ancora informazioni sull'autore ospite da visualizzare nello stesso formato dell'autore normale? Campi personalizzati!

Nome dell'autore ospite in prima pagina e singoli post

La prima cosa che dobbiamo fare è impostare un'istruzione if di WordPress per ottenere il valore del campo personalizzato. In questo modo verrà visualizzato solo quando viene assegnato il valore del file personalizzato. Apri il tuo "index.php" e "single.php" e incolla il seguente codice dove vuoi che appaia il nome dell'autore. Potrebbe essere dopo la data o dopo i commenti. Ad esempio dopo questo codice:

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

Una volta inserita l'istruzione if, la chiamiamo semplicemente su qualsiasi post desideriamo che venga visualizzato il nome dell'autore ospite. Il nome dell'autore ospite dovrebbe apparire in prima pagina e solo per post specifici.

Blocco delle informazioni sull'autore ospite sul singolo post

Ok, quindi abbiamo il nome che appare nella meta descrizione del post, ma anche alcune informazioni sull'autore ospite sarebbero carine.

Ancora una volta, per prima cosa abbiamo un'istruzione if condizionale che cerca il pollice e la descrizione dell'immagine dell'autore. Non dimenticare di cambiare l'immagine nella directory. Inoltre, abbiamo allegato una classe al blocco e al pollice, che consente di modellare sia l'immagine che il blocco utilizzando i 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 } ?>

Ecco il CSS che ho usato

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

Puoi persino modellare di più con la classe autho_thumb. Fatto ciò, tutto ciò che devi fare è aggiungere autho_thumb e guest_author nel campo e compilare le informazioni. Puoi persino aggiungere HTML come link nel campo personalizzato.

Quindi, ci sono due campi personalizzati per le informazioni sull'autore ospite. Questo potrebbe sembrare un sacco di passaggi. Fidati di me una volta che l'hai fatto, è solo questione di aggiungere l'immagine e la descrizione la prossima volta che vuoi farlo.

Migliore campo personalizzato per la visualizzazione dell'immagine del post in prima pagina

Questo metodo viene utilizzato per visualizzare un pollice per il post sul davanti. Volevo andare un po' oltre e rendere più facile per l'utente front-end. Inoltre, con il metodo di Jean tutte le immagini avrebbero lo stesso alt="post-image” e potrei non andare bene per i motori di ricerca. Inoltre, dovresti includere ogni volta l'intero URL per le immagini. Innanzitutto ecco il codice:

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

Prima di spiegare il codice, si noti che non ho aggiunto un'istruzione else per un pollice predefinito. Guarda il post di Jean se desideri avere un'immagine predefinita se l'immagine è assegnata nel campo personalizzato.

Per prima cosa abbiamo due variabili $postimageurl e $image_alt. Il primo è ottenere la posizione dell'immagine e il secondo è aggiungere il nome dell'immagine. Quindi di nuovo impostiamo un'istruzione if per verificare se il campo personalizzato viene chiamato.

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

La cosa diversa è sopra il codice che ottiene la posizione dell'immagine. Ho creato una cartella chiamata thumb nella mia directory di caricamento di WordPress, quindi invece di digitare l'intero URL ogni volta, digiterei semplicemente il nome dell'immagine, una volta caricata l'immagine nella cartella.

Se desideri una directory diversa, ad esempio, memorizzeresti le tue immagini nella radice del tuo dominio, sostituisci semplicemente <?php echo get_option(‘siteurl’).‘/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?>con http://yourwebsite.com/images/<?php echo $postimageurl; ?>.

Quindi, il codice è leggermente ottimizzato in modo che ogni immagine del post abbia un alt (titolo) diverso e dovresti digitare l'estensione del nome dell'immagine anziché l'intero URL.

Organizza la tua navigazione WordPress come preferisci

La prima cosa da sapere è che le pagine dell'elenco di wordpress utilizzano il tag ks29so_list_pages, che di solito si trova in header.php. ma potresti non voler elencare tutte le tue pagine. Se vuoi nascondere alcune delle tue pagine dalla visualizzazione, dovresti fare questo:

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

Escludere o includere funziona quasi allo stesso modo. Escludi ometterà determinate pagine dall'elenco delle pagine di WordPress e includerà mostrerà solo l'ID pagine specificato. Tuttavia, alla maggior parte dei blog di web design o di qualsiasi altro blog piace utilizzare tag o categorie come navigazione. In tal caso, puoi semplicemente sbarazzarti del tag ks29so_list e personalizzare il codice di navigazione. In alternativa, puoi farlo anche con i tuoi tag. Il vantaggio di codificare in questo modo è che puoi assegnare una classe CSS per modellare ogni elemento della navigazione.

Come trovare l'ID della tua pagina WordPress

Di recente ho dovuto trovare un ID pagina per l'esclusione in un modello che stavo utilizzando e dopo circa 10 minuti ho finalmente trovato un modo semplice per trovare l'ID pagina di una "pagina" di WordPress.

Nelle versioni precedenti di WordPress, credo che fosse più semplice, ma ecco come puoi farlo ora.

  1. Vai nel pannello di amministrazione di WordPress, quindi vai su Pagine.
  2. Quindi passa il mouse sopra la pagina di cui desideri conoscere l'ID.
  3. Vedrai l'ID nella barra di stato nella parte inferiore del browser (vedi sotto).

Se non riesci a vedere l'indirizzo completo, prova in un altro modo (più sotto).

  1. Vai nel pannello di amministrazione di WordPress, quindi vai su Pagine.
  2. Quindi vedrai l'ID nella barra degli indirizzi. Sarà il numero dopo il segno uguale.
  3. Fare clic sulla pagina di cui si desidera conoscere l'ID.

Visualizzazione dell'argomento dell'archivio

La maggior parte dei temi WordPress viene fornita con la pagina archive.php. Ma ho visto molti siti Web in cui le pagine di archivio non sono molto utili e non dicono agli utenti quale argomento o categoria stanno navigando. Puoi aggiungere i seguenti codici nel tuo archive.php per evitare confusione.

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