Форум 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>'
}  
?>


zusicks438 17.04.2010 16:46

Проверил, работает :) Только там тогда название сайта и рубрики склеиваются в одно слово, как вариант исправляется так:

Код:

<?php 

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

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

?>


LSN 17.04.2010 16:57

Цитата:

Сообщение от zusicks438 (Сообщение 789014)
Проверил, работает

это гуд :)

Цитата:

Сообщение от zusicks438 (Сообщение 789014)
Только там тогда название сайта и рубрики склеиваются в одно слово

та это я пробелы убрал :)

zusicks438 17.04.2010 17:07

Так, вроде все настроил. Есть вопрос по поводу шаблона статьи (articles.php). Я его пытаюсь загрузить, а сервер почему-то ругается на строку
Цитата:

<?php get_header(); ?>
Это нормально? (Потому что мне кажется, нет :))

Код там такой:

Код:

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

<?php get_header(); ?>

<!-- Side ContentWrapper START -->

<div id="ContentWrapper">



<!-- Side SC START -->

<div class="SC">
тра-та-та...


LSN 17.04.2010 17:16

Цитата:

Сообщение от zusicks438 (Сообщение 789028)
сервер почему-то ругается на строку

а че пишет?

zusicks438 17.04.2010 17:25

Смотрите: http://www.seo-stories.ru/wp-content...c/articles.php :)

LSN 17.04.2010 17:27

Цитата:

Сообщение от zusicks438 (Сообщение 789033)

Вы articles.php закинули в папку с темой?

zusicks438 17.04.2010 17:37

Да, это именно она.

Добавлено через 5 минут
У меня такое ощущение, что так и должно быть. Если я пытаюсь открыть файл http://www.seo-stories.ru/wp-content...stic/index.php - выскакивает такая же ошибка. Правда я не понимаю, почему...

LSN 17.04.2010 17:46

Цитата:

Сообщение от zusicks438 (Сообщение 789038)
Да, это именно она.

чето не похоже...

эта ошибка вылетает когда невозможно обратиться к функции, то есть header.php и articles.php лежат в разных папках. А должны лежать в одной папке в wp-content/themes/папка с темой. А у вас две одинаковые папки realistic/realistic

zusicks438 17.04.2010 17:57

Так потому что так и есть ;)

Тема поставлялась в папке realistic в папке realistic :) Смотрим скрины:

http://seo-stories.ru/Untitled-1.jpg

Файлы в одной папке:
http://seo-stories.ru/Untitled-1.gif

LSN 17.04.2010 18:06

а файл index.php из корневого каталога (там где wp-config.php) не трогали? просто гугл говорит, что вроде поэтому ошибка

http://wordpress.org/support/topic/303236

zusicks438 18.04.2010 14:28

Нет, не трогал. Даже на всякий случай залил исходный файл со своего компа - эффект тот же.

Добавлено через 20 часов 18 минут
Блин, че с шаблоном делать...почему header не возвращает...

LSN 18.04.2010 14:52

Цитата:

Сообщение от zusicks438 (Сообщение 789064)
Блин, че с шаблоном делать...почему header не возвращает...

кто не возвращает? Вы в систему сайт добавили? Статью разместил кто-нибудь?

zusicks438 18.04.2010 15:12

Ну так шаблон вроде же проверяется articles.php вроде же проверяется...

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

LSN 18.04.2010 15:16

Цитата:

Сообщение от zusicks438 (Сообщение 789603)
Ну так шаблон вроде же проверяется articles.php вроде же проверяется...

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

ничего не понял... вы вводите в строку браузера полный путь до файла и видите fatal error вместо 404, вас это смущает?

zusicks438 18.04.2010 15:27

Читаю правила:

Цитата:

Модератор проверит Ваши шаблоны, на основе которых будут показываться статьи. Если они некачественные, то в модерации будет отказано.
Что он будет проверять? :)

zusicks438 19.04.2010 20:53

Пришел ответ с форума:

http://ru.forums.wordpress.org/topic...s=1#post-18435

Вобщем попробую сделать страницу...

LSN 19.04.2010 21:10

Цитата:

Сообщение от zusicks438 (Сообщение 790694)
Пришел ответ с форума:

http://ru.forums.wordpress.org/topic...s=1#post-18435

Вобщем попробую сделать страницу...

не получится. я это вчера понял, что через такие шаблоны не получиться сделать. вот щас ищу решение...как че выдумаю отпишу

komarik 20.04.2010 00:13

В корне блога, там где wp-config.php, создайте файл sape.php (к примеру) с таким содержанием
Цитата:

<?php
define('WP_USE_THEMES', true);
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require_once( dirname(__FILE__) . '/wp-load.php' );
wp();
$template = get_query_template('articles');
include($template);
}
?>
теперь, если перейти на http://site.ru/sape.php, будет загружаться articles.php, который лежит в папке темы (который вы создали со всякими {header} и т.д).
Тогда в шаблон статей скормить http://site.ru/sape.php
А в шаблон урлов, к примеру, /sape/{id}/

zusicks438 20.04.2010 19:11

Спасибо, заработало :)

Добавлено через 16 минут
Так, не очень понял с шаблоном URL'ов, надо что-нибудь менять в .htaccess?

Добавлено через 1 минуту
И еще у меня (www.seo-stories.ru/sarticles.php) возвращается последняя статья (нажмите на заголовок), это нормально?

komarik 20.04.2010 20:50

В .htaccess само собой потом нужно будет правило добавлять, система при добавлении урла сама скажет какой.
То, что последняя статья возвращается, это ненормально. Что-то не до конца вырезано. И не видно {title} и {body}.

Oleg 22.04.2010 23:04

Может кто-нибудь в виде мода для WP оформить аналогично imoney или isape?

zusicks438 27.04.2010 20:01

LSN, написал в личку.

seogad 01.06.2010 01:57

Всё хорошо, вот только подумать всё-таки пришлось.

В итоге, добавить шаблон удалось следующим образом:

1) Создание шаблона по этой инструкции http://seoninja.ru/read/sape-articles-wordpress

Примечание: в файл шаблона (sapearticles.php) вместо
Код HTML:

<?php get_header(); ?>
я добавил то, что содержится в header.php темы, а вместо
Код HTML:

<?php get_footer(); ?>
- то, что в footer.php

2) Шаблон по адресу site.ru/articles.php у меня не добавился, так как "Не удается открыть шаблон". Где-то нашёл ответ, что если сохранить в html, то по адресу site.ru/articles.html шаблон добавится, но так, к сожалению, не будет работать сам шаблон, поэтому идём в админку вордпресса и создаём новую страницу с заголовком {title} (на случай наличия плагина all in one seo pack) и указываем постоянную ссылку например thearticles, получается site.ru/thearticles

3) сохраняем файл шаблона (sapearticles.php) как page-thearticles.php

Добавляем шаблон в сапу =)

pautinka 24.06.2010 13:10

Простите за тупость, но вот мой сайдбар. Куда надо код sape вставлять? )???
<!-- Sidebar -->
<div id="sidebar">

<!-- Sidebar Left -->
<div id="sidebar-left">

<div class="sidebar-box">
<h3>Рубрики</h3>
<ul>
<?php wp_list_categories('title_li='); ?>
</ul>
</div>

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) : ?>

<?php endif; ?>

</div>
<!-- /Sidebar Left -->

<!-- Sidebar Right -->
<div id="sidebar-right">

<div class="sidebar-box">
<h3 class="first">Архив</h3>
<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>
</div>

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : ?>

<?php endif; ?>

</div>
<!-- /Sidebar Right -->

<div class="clear"></div>

</div>
<!-- Sidebar -->

Добавлено через 11 минут
или в индекс.php надо вставлять?

inf4mi 28.07.2010 22:00

с таким подходом САПЕ не скоро сможет продвинуть свой новый сервис "Статьи".
Так как конкурентов в этом направлении уже хватает.

Ламал голову и свою тему целый час и нифига не получилось.

Должен быть написан какой-то хороший пошаговый мануал, для ламеров =) так как с ссылками все намного проще.

Или хотя бы для дефолтной темы ВП выложить уже измененные файлы, чтоб можно было за 5 мин все настроить.

В общем будем надеяться на лучшее =)

П.С. не все так просто по этому мануалу в начале темы, так как он не подходит, если стоит All in one seo.

Psydrop 29.07.2010 15:21

Есть у меня на одном WP-сайте хитрый шаблон, где никак не получается вывод анонсов настроить.

Код подключал как описано тут: http://forum.sape.ru/showpost.php?p=787237&postcount=7

Анонсы работают только с главной страницы почему-то, а с остальных - нет. В итоге статьи уходят в Error...

Анонсы вывожу в сайдбаре, который для главной страницы подключается из файла home.php таким кодом:

PHP код:

<?php include TEMPLATEPATH'/templates/sidebar-index.html'?>

А для внутренних страниц подключается сайдбар из файла sidebar.php таким кодом:

PHP код:

<?php
    
if (!is_front_page() || !is_home()) {
    include 
TEMPLATEPATH'/templates/sidebar.html';
    }
?>

А уже в sidebar-index.html и sidebar.html прописано:

PHP код:

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

И вот я понять не могу, ссылки нормально работают, а анонсы у статей выводятся только на главной, а на внутренних не хотят работать. Как быть ?

itex 03.08.2010 14:31

Пытаюсь автоматизировать статьи в iMoney, замучился, но вроде доделываю, у кого уже куплены статьи на сайте, дайте хост погонять на сегодня, чтоб отладить.
Стараюсь кста делать все автоматом, чтоб вордпресс сам страницы формировал, шаблон чтоб тож. Максимально удобно и просто.

Последний Герой 03.08.2010 15:43

Цитата:

Сообщение от itex (Сообщение 875423)
Пытаюсь автоматизировать статьи в iMoney, замучился, но вроде доделываю, у кого уже куплены статьи на сайте, дайте хост погонять на сегодня, чтоб отладить.

itex, лучше закажите мне в личку нормальную установку кода.

itex 03.08.2010 15:56

Цитата:

Сообщение от Последний Герой (Сообщение 875511)
itex, лучше закажите мне в личку нормальную установку кода.

Что такое нормальноя установка, это прописать код вручную? Скажем так, я автор этого плагина, вручную код установить смогу, после того как доделаю и погоняю, код сможет поставить плагином большиство людей, даже с искривленными руками. Я думаю, что есть какоето непонимание.
Но все равно спасибо, за предложение.:)

Последний Герой 03.08.2010 16:08

itex, прошу прощение, показалось вы на свой сайт не можете поставить код, чтоб идеально работал.

плагин, разумеется пишите.

P.S. я даже простого плагина под WP написать не могу. просто лень.


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

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