WordPress Hacki dla witryny tylko dla członków

6

Domyślnie WordPress jest narzędziem do blogowania. Niemniej jednak możesz naprawdę dostosować, aby zrobić to tak, jak chcesz. Wiele osób korzysta z WordPressa, aby stworzyć stronę internetową tylko dla członków.

Zawsze możesz użyć wtyczki, ale jeśli potrzebujesz tylko niewielkiej modyfikacji, po co instalować wtyczkę, skoro możesz to zrobić za pomocą kilku linii kodu. Oto kilka prostych, ale skutecznych hacków do tworzenia witryny tylko dla członków.

Treści tylko dla członków bez wtyczki

Jeśli w Twojej witrynie znajdują się pewne treści, które chcesz pokazać tylko zarejestrowanemu członkowi, możesz to zrobić, używając następującego kodu w swoim motywie. Cokolwiek się is_user_logged_instanie, będzie widoczne tylko dla członków.

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

Pokaż formularz logowania WordPress w dowolnym miejscu i dostosuj go

Jeśli chcesz umieścić formularz logowania WordPress w dowolnym miejscu w swoim motywie, możesz to zrobić za pomocą następującej funkcji:

<?php ks29so_login_form(); ?>

Nie daje jednak możliwości dostosowania formularza logowania, ponieważ po prostu bezpośrednio pobiera domyślny formularz logowania WordPress. A co jeśli chcesz coś takiego pokazać?

Oto kod, aby to zrobić. Wklej poniższy kod tam, gdzie chcesz, aby pojawił się formularz.

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

Możesz dodać tag CSS div, aby nadać mu styl. Zaletą korzystania z tego formularza logowania jest to, że możesz prawie stworzyć mini dashboard dla członków za pomocą funkcji get_currentuserinfo() i pokazać dowolne informacje o użytkowniku.

Niestandardowe menu WordPress dla członków

Podobnie jak treść, możesz stworzyć niestandardowe menu WordPress dla członków. Najpierw zarejestrujmy menu. Przejdź do pliku funkcji motywu (functions.php). Użyj poniższego kodu, aby zarejestrować menu.

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

Teraz umieść następujący kod w miejscu, w którym chcesz wyświetlić swoje menu, najprawdopodobniej w pliku 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’) );
};?>

Teraz musisz faktycznie utworzyć menu na backhand WordPress. Ustawienie „Menu" powinno znajdować się w zakładce Wygląd. Utwórz menu o nazwie main i visitor. W obu menu dodaj to, co chcesz pokazać. Na przykład: jeśli chcesz, aby strona wyświetlała się tylko po zalogowaniu użytkownika, dodaj ją menu główne.

Możesz także utworzyć dynamiczne menu stopki przy użyciu tej samej metody.

Niestandardowe pola i hacki WordPress dla blogerów

Możesz użyć WordPressa, aby stworzyć niestandardową i profesjonalnie wyglądającą stronę internetową. W tym poście udostępniamy kilka niestandardowych sztuczek i hacków WordPress, które pozwolą Ci mieć lepszą witrynę opartą na WordPress.

Czasami mogą istnieć gościnni blogerzy, którzy piszą tylko jeden post na Twojej stronie i to wszystko. Tej metody można użyć do wyświetlania zwykłych informacji o autorze. Pamiętaj, że autor został zarejestrowany w WordPress. Być może nie chcesz rejestrować się za każdym razem, gdy pisze nowy gość. Ale jak nadal wyświetlać informacje o autorze-gościu w tym samym formacie, co zwykły autor? Pola niestandardowe!

Nazwisko autora gościa na stronie głównej i w poszczególnych postach

Pierwszą rzeczą, którą musimy zrobić, to ustawić instrukcję if WordPress, aby uzyskać niestandardową wartość pola. W ten sposób pojawi się tylko wtedy, gdy zostanie przypisana niestandardowa wartość pliku. Otwórz swoje „index.php” i „single.php” i wklej następujący kod w miejscu, w którym ma się pojawić nazwisko autora. Może to być po dacie lub po komentarzach. Na przykład po tym kodzie:

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

Po umieszczeniu instrukcji if po prostu wywołujemy ją w dowolnym poście, w którym chcemy, aby nazwisko autora-gościa się pojawiło. Nazwisko autora-gościa powinno pojawiać się na pierwszej stronie i tylko dla konkretnego posta.

Blok informacji o autorze gościnnym w poście indywidualnym

Okej, więc nazwa pojawia się w metaopisie posta, ale przydałaby się też informacja o autorze-gościu.

Ponownie, najpierw mamy instrukcję warunkową if, która szuka kciuka i opisu autora obrazu. Nie zapomnij zmienić obrazu katalogu. Do bloku i kciuka dołączyliśmy również klasę, która pozwala stylizować zarówno obraz, jak i blok za pomocą 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 } ?>

Oto CSS, którego użyłem

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

Możesz jeszcze bardziej stylizować z klasą auto_thumb. Gdy to zrobisz, wszystko, co musisz zrobić, to dodać auto_thumb i guest_author w polu i wypełnić informacje. Możesz nawet dodać kod HTML, taki jak link w niestandardowym polu.

Masz więc dwa niestandardowe pola na informacje o autorze-gościu. Może się wydawać, że to wiele kroków. Zaufaj mi, gdy już to zrobiłeś, to tylko kwestia dodania obrazu i opisu następnym razem, gdy będziesz chciał to zrobić.

Lepsze niestandardowe pole do wyświetlania obrazu posta na stronie głównej

Ta metoda służy do wyświetlania kciuka dla posta z przodu. Chciałem pójść trochę dalej i ułatwić użytkownikowi front-end. Poza tym, stosując metodę Jeana, każdy obraz miałby ten sam alt=”post-image” i mógłbym nie być dobry dla wyszukiwarek. Co więcej, za każdym razem musiałbyś podawać cały adres URL obrazów. Najpierw oto kod:

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

Zanim wyjaśnię kod, zauważ, że nie dodałem instrukcji else dla domyślnego kciuka. Spójrz na post Jean, jeśli chcesz mieć domyślny obraz, jeśli tak jest przypisany w polu niestandardowym.

Najpierw mamy dwie zmienne $postimageurl i $image_alt. Pierwszym z nich jest uzyskanie lokalizacji obrazu, a drugim dodanie nazwy obrazu. Następnie ponownie ustawiamy instrukcję if, aby sprawdzić, czy pole niestandardowe zostanie wywołane.

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

Inną rzeczą jest powyższy kod, który pobiera lokalizację obrazu. Utworzyłem folder o nazwie thumb w moim katalogu przesyłania WordPress, więc zamiast wpisywać cały adres URL za każdym razem, po prostu wpisuję nazwę obrazu, po przesłaniu obrazu do folderu.

Jeśli chcesz inny katalog, na przykład załóżmy, że przechowujesz swoje obrazy w katalogu głównym swojej domeny, po prostu zamień <?php echo get_option(‘siteurl’).‘/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?>na http://yourwebsite.com/images/<?php echo $postimageurl; ?>.

Tak więc kod jest trochę poprawiony, więc każdy obraz posta miałby inny alt (tytuł) i wpisywałbyś rozszerzenie nazwy obrazu zamiast całego adresu URL.

Ułóż swoją nawigację WordPress, jak chcesz

Pierwszą rzeczą, o której należy wiedzieć, jest lista stron wordpress przy użyciu znacznika ks29so_list_pages, który zwykle znajduje się w pliku header.php. ale możesz nie chcieć wyświetlać wszystkich swoich stron. Jeśli chcesz ukryć niektóre ze swoich stron przed wyświetlaniem, wykonaj następujące czynności:

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

Wyklucz lub uwzględnij działa prawie w ten sam sposób. Wyklucz spowoduje pominięcie niektórych stron z listy stron WordPress i uwzględnienie pokaże tylko identyfikator stron, który określisz. Jednak większość blogów zajmujących się projektowaniem stron internetowych lub innych blogów lubi używać tagów lub kategorii jako nawigacji. W takim przypadku możesz po prostu pozbyć się znacznika ks29so_list i dostosować kod nawigacji. Alternatywnie możesz to zrobić również ze swoimi tagami. Korzyść z kodowania w ten sposób możesz przypisać klasę CSS do stylu każdego elementu nawigacji.

Jak znaleźć identyfikator strony WordPress

Niedawno musiałem znaleźć identyfikator strony do wykluczenia w szablonie, którego używałem, i po około 10 minutach w końcu znalazłem łatwy sposób na znalezienie identyfikatora strony „strony” WordPress.

Uważam, że w starszych wersjach WordPress było to łatwiejsze, ale oto jak możesz to zrobić teraz.

  1. Przejdź do panelu administracyjnego WordPress, a następnie przejdź do stron.
  2. Następnie najedź kursorem na stronę, której identyfikator chcesz poznać.
  3. Zobaczysz identyfikator na pasku stanu na dole przeglądarki (patrz poniżej).

Jeśli nie widzisz pełnego adresu, spróbuj w inny sposób (dalej poniżej).

  1. Przejdź do panelu administracyjnego WordPress, a następnie przejdź do stron.
  2. Następnie zobaczysz identyfikator na pasku adresu. Będzie to liczba po znaku równości.
  3. Kliknij stronę, której identyfikator chcesz poznać.

Wyświetlanie tematu archiwum

Większość motywów WordPress zawiera stronę archive.php. Ale widziałem wiele stron internetowych, na których strony archiwum nie są zbyt pomocne i nie informują użytkowników, jaki temat lub kategorie przeglądają. Możesz dodać następujące kody w pliku archive.php, aby uniknąć zamieszania.

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

Comments are closed, but trackbacks and pingbacks are open.

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów