Веб-сайт WordPress Hacks лише для користувачів

11

За замовчуванням WordPress є інструментом для ведення блогів. Тим не менш, ви дійсно можете налаштувати, щоб зробити це так, як вам заманеться. Багато людей використовують WordPress для створення веб-сайту лише для учасників.

Ви завжди можете використовувати плагін, але якщо вам потрібна лише невелика модифікація, навіщо встановлювати плагін, якщо це можна зробити за допомогою кількох рядків коду. Ось кілька простих, але ефективних прийомів для створення сайту лише для учасників.

Вміст лише для учасників без плагіна

Якщо на вашому сайті є певний вміст, який ви хотіли б показати лише зареєстрованому учаснику, ви можете зробити це, використовуючи наступний код у своїй темі. Все, що буде між ними is_user_logged_in, бачитимуть лише учасники.

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

Показуйте форму входу WordPress будь-де та налаштовуйте її

Якщо ви хочете включити форму входу WordPress будь-де у свою тему, ви можете зробити це за допомогою такої функції:

<?php ks29so_login_form(); ?>

Однак він не дає вам можливості налаштувати форму входу, оскільки він просто безпосередньо витягує стандартну форму входу WordPress. Що, якщо ви хочете показати щось подібне?

Ось код для цього. Вставте наведений нижче код там, де ви хочете, щоб форма відображалася.

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

Ви можете додати тег CSS div, щоб стилізувати його. Перевагою використання цієї форми входу є можливість майже створити міні-панель для учасників за допомогою функції get_currentuserinfo() і показати будь-яку інформацію про користувача.

Спеціальне меню WordPress для учасників

Як і вміст, ви можете створити власне меню WordPress для учасників. Давайте спочатку зареєструємо меню. Перейдіть до файлу функції теми (functions.php). Використовуйте наступний код для реєстрації меню.

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

Тепер розмістіть наступний код там, де ви хочете, щоб ваше меню відображалося, швидше за все, у файлі 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’) );
};?>

Тепер вам потрібно фактично створити меню на WordPress. Налаштування «Меню» має бути на вкладці «Вигляд». Створіть меню з іменами «основний» і «відвідувач». До обох меню додайте все, що хочете показати. Наприклад: якщо ви хочете, щоб сторінка відображалася лише тоді, коли користувач увійшов, додайте це головне меню.

Ви також можете створити динамічне меню нижнього колонтитула, використовуючи той самий метод.

Користувацькі поля WordPress і хакі для блогерів

Ви можете використовувати WordPress для створення індивідуального та професійного веб-сайту. У цій публікації ми ділимося деякими спеціальними трюками та хаками WordPress, які дозволять вам мати кращий сайт на базі WordPress.

Іноді можуть бути запрошені блогери, які пишуть лише одну публікацію на вашому сайті, і все. Ви можете використовувати цей метод, щоб показати звичайну інформацію про автора. Майте на увазі, що автор зареєстрований у WordPress. Можливо, ви не хочете реєструватися кожного разу, коли пишуть нові запрошені автори. Але як зробити так, щоб інформація про гостьового автора відображалася в тому самому форматі, що й звичайний автор? Спеціальні поля!

Ім’я запрошеного автора на першій сторінці та в окремих публікаціях

Перше, що нам потрібно зробити, це налаштувати оператор WordPress if, щоб отримати значення спеціального поля. Таким чином він відображатиметься лише тоді, коли буде призначено значення спеціального файлу. Відкрийте «index.php» і «single.php» і вставте наступний код там, де ви хочете, щоб відображалося ім’я автора. Це може бути після дати або після коментарів. Наприклад, після цього коду:

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

Коли ми розміщуємо оператор if, ми просто викликаємо його в будь-якій публікації, у якій хочемо, щоб ім’я гостьового автора відображалося. Ім’я запрошеного автора має з’являтися на першій сторінці лише для певної публікації.

Інформаційний блок гостьового автора в окремій публікації

Гаразд, у нас є ім’я, яке відображається в метаописі публікації, але також було б непогано отримати деяку інформацію про запрошеного автора.

Знову ж таки, спочатку ми маємо умовний оператор if, який шукає зображення автора та його опис. Не забудьте змінити зображення каталогу. Крім того, ми додали клас до блоку та пальця, що дозволяє стилізувати як зображення, так і блок за допомогою 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 } ?>

Ось CSS, який я використав

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

Ви навіть більше стилізуєте за допомогою класу autho_thumb. Після цього все, що вам потрібно зробити, це додати autho_thumb і guest_author у поле та заповнити інформацію. Ви навіть можете додати HTML, наприклад посилання, у спеціальне поле.

Отже, у вас є два спеціальні поля для інформації про гостьового автора. Це може здатися великою кількістю кроків. Повірте мені, коли ви це зробили, потрібно лише додати зображення та опис наступного разу, коли ви захочете це зробити.

Краще спеціальне поле для відображення зображення публікації на головній сторінці

Цей метод використовується для відображення великого пальця для повідомлення на передній панелі. Я хотів зробити це трохи далі та полегшити користувачам. Крім того, за допомогою методу Жана всі зображення мали б однаковий alt="post-image”, і я міг би не підійти пошуковим системам. Крім того, вам доведеться кожного разу включати повну URL-адресу для зображень. Спочатку ось код:

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

Перш ніж пояснювати код, зауважте, що я не додав оператор else для мініатюри за замовчуванням. Подивіться допис Жана, якщо ви бажаєте мати зображення за замовчуванням, якщо таке зображення призначено в спеціальному полі.

Спочатку у нас є дві змінні $postimageurl і $image_alt. Перший — отримати розташування зображення, а другий — додати назву зображення. Потім ми знову встановлюємо оператор if, щоб перевірити, чи викликається спеціальне поле.

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

Різниця в коді вище, який отримує розташування зображення. Я створив папку під назвою thumb у моєму каталозі завантаження WordPress, тому замість того, щоб вводити повну URL-адресу щоразу, коли я просто вводив назву зображення, я завантажував зображення в папку.

Якщо вам потрібен інший каталог, наприклад, скажімо, ви зберігаєте свої зображення в корені свого домену, просто замініть його <?php echo get_option(‘siteurl’).‘/wp-content/uploads/thumb/ ?><?php echo $postimageurl; ?>на http://yourwebsite.com/images/<?php echo $postimageurl; ?>.

Отже, код трохи змінено, тому кожне зображення публікації матиме різний alt (заголовок), і ви вводите розширення імені зображення, а не повну URL-адресу.

Упорядкуйте свою навігацію WordPress так, як хочете

Перше, що потрібно знати, це список сторінок wordpress за допомогою тегу ks29so_list_pages, який зазвичай знаходиться в header.php. але ви можете не захотіти перераховувати всі свої сторінки. Якщо ви хочете приховати деякі ваші сторінки від показу, ви повинні зробити це:

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

Виключити або включити майже так само. Якщо виключити, певні сторінки буде виключено зі списку сторінок WordPress, а включно буде показано лише вказані вами ідентифікатори сторінок. Однак більшість блогів веб-дизайну або будь-яких інших блогів люблять використовувати теги чи категорії як навігацію. У такому випадку ви можете просто позбутися тегу ks29so_list і налаштувати код навігації. Крім того, ви можете зробити це за допомогою своїх тегів. Перевагою кодування таким чином є можливість призначити клас CSS для стилізації кожного елемента навігації.

Як знайти ідентифікатор сторінки WordPress

Нещодавно мені довелося знайти ідентифікатор сторінки для виключення в шаблоні, який я використовував, і приблизно через 10 хвилин нарешті знайшов простий спосіб знайти ідентифікатор сторінки «сторінки» WordPress.

Я вважаю, що в старих версіях WordPress це було простіше, але ось як ви можете це зробити зараз.

  1. Перейдіть до панелі адміністратора WordPress, а потім перейдіть до сторінок.
  2. Потім наведіть курсор на сторінку, ідентифікатор якої ви хочете дізнатися.
  3. Ви побачите ідентифікатор у рядку стану внизу браузера (див. нижче).

Якщо ви не можете побачити повну адресу, спробуйте інший спосіб (далі нижче).

  1. Перейдіть до панелі адміністратора WordPress, а потім перейдіть до сторінок.
  2. Потім ви побачите ідентифікатор в адресному рядку. Це буде число після знака рівності.
  3. Клацніть сторінку, ідентифікатор якої потрібно дізнатися.

Показано тему архіву

Більшість тем WordPress постачається зі сторінкою archive.php. Але я бачив багато веб-сайтів, де сторінки архіву не дуже корисні та не повідомляють користувачам, яку тему чи категорії вони переглядають. Ви можете додати наступні коди у свій archive.php, щоб уникнути плутанини.

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

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі