Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Биржа статей (http://forum.sape.ru/forumdisplay.php?f=50)
-   -   WordPress: установка кода статей и изготовление шаблона (http://forum.sape.ru/showthread.php?t=50293)

LSN 08.04.2010 00:00

WordPress: установка кода статей и изготовление шаблона
 
Скачиваем zip архив отсюда - http://articles.sape.ru/wm/sites/add/
Распаковываем, копируем файл и папку в корень сайта
Выставляем права 777 на папку


Выводим анонсы статей

Открывем файл sidebar.php и вставляем туда код:

PHP код:

<?php
     
if (!defined('_SAPE_USER')){
        
define('_SAPE_USER''xxxxxxxxxxxxxxxxxxxxxxxxxx');
     }
     require_once(
$_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
     
$sape_article = new SAPE_articles();
?>


далее в тех местах, где мы хотим видеть анонсы вставляем код:
PHP код:

<?php echo $sape_article->return_announcements(1); ?>

где цифра 1, означает, что в этом месте будет выводиться один анонс
PHP код:

<?php echo $sape_article->return_announcements(2); ?>

где цифра 2, означает, что в этом месте будут выводиться два анонса

Последний вызов функции должен быть без параметров! Вот так:
PHP код:

<?php echo $sape_article->return_announcements(); ?>

Он выведет все оставшиеся анонсы.



Настройка шаблонов статей

Открываем любой текстовый редактор, создаем в нем пустой файл под названием articles.php, сохраняем в кодировке UTF-8, копируем в наш файл articles.php ВСЕ содержимое файла index.php из Вашего шаблона (таким образом мы встроим статьи в дизайн сайта, кому больше нравится может взять за основу single.php - принцип будет один и тот же).
В самое начало добавляем строки:
PHP код:

<?php
/*
Template Name: articles
*/
?>

Открываем файл header.php и находим тэг <title></title> и приводим его к следующему виду:


PHP код:

<?php

if ( is_page_template('articles.php ')) {
 <
title>{title}</title>

} else {
 <
title>Ваш тэг titleкоторый вы используете во всем шаблоне</title
}
?>

Находим тэг keywords и приводим его к следующему виду:

PHP код:

<?php

if ( is_page_template('articles.php ')) {
 <
meta name="keywords" content="{keywords}">

} else {
 <
meta name="keywords" content="Ваш тэг keywords, который вы используете во всем шаблоне">
}
?>

Находим тэг description и приводим его к следующему виду:


PHP код:

<?php

if ( is_page_template('articles.php ')) {
 <
meta name="description" content="{description}">

} else {
<
meta name="description" content="Ваш тэг description, который вы используете во всем шаблоне">
}
?>

Сохраняем, обновляем на сервере.

Переходим к файлу articles.php

Находим тэг начала цикла:

PHP код:

<?php if (have_posts()) : ?>

        <?php while (have_posts()) : the_post(); ?>

удаляем

Находим тэг конца цикла:

PHP код:

<?php endwhile; ?>

<?php else : ?>

    <h2 class="center"><?php _e('Not Found''kubrick'); ?></h2>
    <p class="center"><?php _e('Sorry, but you are looking for something that isn’t here.''kubrick'); ?></p>
<?php endif; ?>

удаляем


Находим тэги навигации:

PHP код:

<div class="navigation">
            <div class="alignleft"><?php next_posts_link(__('&laquo; Older Entries''kubrick')) ?></div>
            <div class="alignright"><?php previous_posts_link(__('Newer Entries &raquo;''kubrick')) ?></div>
        </div>

удаляем

Проверяем наличие служебных тэгов типа:

PHP код:

<p class="postmetadata"><?php the_tags(__('Tags:''kubrick') . ' '', ''<br />'); ?> <?php printf(__('Posted in %s''kubrick'), get_the_category_list(', ')); ?> | <?php edit_post_link(__('Edit''kubrick'), ''' | '); ?>  <?php comments_popup_link(__('No Comments »''kubrick'), __('1 Comment »''kubrick'), __('% Comments »''kubrick'), ''__('Comments Closed''kubrick') ); ?></p>

Если они есть, то удаляем


Находим тэг вывода контента:

PHP код:

<?php the_content(__('Read the rest of this entry &raquo;')); ?>

И заменяем его на:
PHP код:

{body

Находим место, где выводится название статьи:
PHP код:

<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php printf(__('Permanent Link to %s'), the_title_attribute('echo=0')); ?>"><?php the_title(); ?></a></h2>

И заменяем <?php the_title(); ?> на:
PHP код:

{header

Получается:
PHP код:

<h2>{header}</h2

В интерфейсе добавления шаблона добавляем этот шаблон: http://www.site.ru/articles.php

Настройка шаблонов URL'ов
Цитата:

Лирическое отступление
при составлении урлов надо учесть чтобы название урлов для статей не совпадало с уже существующими урлами, а так же с теми, которые появятся в будущеи. В этом отношении каждый сайт индивидуален, поэтому я описываю принцип действия, а названия урлов вы придумаете сами. Но помните {id} должен присутствовать в урле статьи обязательно!
В корне сайта лежит файл, под названием .htaccess
Открываем его в редакторе
Он будет выглядеть примерно так:
Код HTML:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Мы генерируем урл вида /daily-{id}-{name}.html

В файл вставляем:
Код HTML:

#Articles rules
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^daily-([0-9]+)-([a-z0-9\_\-]+)\.html$ /ВАШ_ХЭШ_КОД.php [L]

И теперь .htaccess выглядит так:


Код HTML:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

#Articles rules
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^daily-([0-9]+)-([a-z0-9\_\-]+)\.html$ /ВАШ_ХЭШ_КОД.php [L]

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Сохраняем .htaccess и обновляем его на сервере.


----------------------------------------------------------------------------------------
ЗЫ: Я статьями не торгую, поэтому просьба инструкцию проверить, я её писал по руководству сапы. В теме пишем вопросы, ошибки и т.д - будем разбираться :), но вроде должно работать

Globalzru 08.04.2010 00:10

Цитата:

Открываем любой текстовый редактор, создаем в нем пустой файл под названием articles.php
Забыл написать, чтобы сохранили в UTF-8

А так манул хороший...

LSN 08.04.2010 00:13

Цитата:

Сообщение от Globalzru (Сообщение 778991)
Забыл написать, чтобы сохранили в UTF-8

точно, просьба к модератораторам добавить этот момент в мануал, а то я уже не могу редактировать сообщение

zhegloff 08.04.2010 16:04

Цитата:

Сообщение от LSN (Сообщение 778998)
точно, просьба к модератораторам добавить этот момент в мануал, а то я уже не могу редактировать сообщение

вроде исправил. Правильно теперь?

LSN 08.04.2010 16:26

Цитата:

Сообщение от zhegloff (Сообщение 779578)
вроде исправил. Правильно теперь?

правильно, спасибо.

LSN 10.04.2010 12:05

Ну что, кто-нибудь пробовал ставить по инструкции? Все получилось или нет?

кто пробовал, отпишитесь пожалуйста в теме.

zusicks438 15.04.2010 18:41

Так, ребята, есть вопрос.

Спасибо за статью. Т.к. у меня стоят еще и ссылки, код немного модифицирован, но в целом все точно...Однако.

Дело в том, что код инициализации мне нужен именно в header.php, а анонсы вывожу в sidebar.php. Соответственно, надо что-то делать. Для того, чтобы ссылки выводились в других частях страницы, делал переменную $sape глобальной, тут такой фокус не срабатывает. Код такой:

Цитата:

<?php
global $sape;
global $sape_article;
if (!defined('_SAPE_USER')){
define('_SAPE_USER', '786ec46b2d5ebc7caca9d7da078a260d');
}

require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'UTF-8';
$sape = new SAPE_client($o);
$sape_article = new SAPE_articles();
unset($o);
?>
В sidebar.php выводится ошибка:

Цитата:

Fatal error: Call to a member function return_announcements() on a non-object in /home/s/seostories/public_html/wp-content/themes/realistic/realistic/sidebar.php on line 70
Что не так?

Добавлено через 8 минут
Покопался, понял. Переменная-то на то и глобальная, вывел анонсы таким кодом:

Цитата:

<? global $sape_article; echo $sape_article->return_announcements(); ?>
Все нормально :)

Добавлено через 19 минут
Что делать с тэгом title? Добавляю такой код:

Код:

<?php

if ( is_page_template('articles.php ')) {
 <title>{title}</title>

} else {
 <title><?php if ( is_home() ) { ?><? bloginfo('name'); ?>&nbsp;<?php bloginfo('description'); } else { wp_title('&nbsp;'); ?>&nbsp;&nbsp;<? bloginfo('name'); } ?></title>
}
?>

И вылетает ошибка: unexpected < в строке 24. Что не так?

LSN 15.04.2010 20:23

Цитата:

Сообщение от zusicks438 (Сообщение 787237)
Покопался, понял. Переменная-то на то и глобальная, вывел анонсы таким кодом:

я этот момент опишу и добавлю в руководство.
Цитата:

Сообщение от zusicks438 (Сообщение 787237)
И вылетает ошибка: unexpected < в строке 24. Что не так?

я думаю, что эта ошибка вылезла из-за того, что где-то два раза подряд открыт
Цитата:

<?php
но чтобы сказать точно надо видеть весь код.

Добавлено через 6 минут
zusicks438, попробуйте такой код вставить и отпишитесь пожалуйста:

PHP код:

<?php 

if ( is_page_template('articles.php ')) { 
 <
title>{title}</title

} else { 
 <
title> if ( is_home() ) {  
 
bloginfo('name');  bloginfo('description'); 
 } else { 
wp_title('&nbsp;'); bloginfo('name'); } </title>

?>


zusicks438 16.04.2010 20:46

Не помогает. Код до вывода title и сам вывод выглядят так:

Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<?php
global $sape;
global $sape_article;
    if (!defined('_SAPE_USER')){
        define('_SAPE_USER', '786ec46b2d5ebc7caca9d7da078a260d');
    }

    require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$o['charset'] = 'UTF-8';
    $sape = new SAPE_client($o);
    $sape_article = new SAPE_articles();
unset($o);
?>

<?php 

if ( is_page_template('articles.php ')) { 
 <title>{title}</title> 

} else { 
 <title> if ( is_home() ) { 
 bloginfo('name');  bloginfo('description'); 
 } else { wp_title('&nbsp;'); bloginfo('name'); } </title>

?>

Строка 24 это вот:

Код:

<title>{title}</title>

LSN 16.04.2010 21:53

вроде я нашел свою ошибку, проверьте так:

PHP код:

<?php  

if ( is_page_template('articles.php ')) {  
 echo
'<title>{title}</title>';  

} else {  
 echo
'<title>'; if ( is_home() ) {   
 
bloginfo('name');  bloginfo('description');  
 } else { 
wp_title('&nbsp;'); bloginfo('name'); } echo'</title>'
}  
?>



Часовой пояс GMT +3, время: 11:40.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.