X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Вопрос про содержание статьи
vipsol1n
vipsol1n
Topic Starter сообщение 3.9.2013, 10:01; Ответить: vipsol1n
Сообщение #1


Новичок
*

Группа: Viewer
Сообщений: 13
Регистрация: 1.9.2013
Поблагодарили: 0 раз
Репутация:   0  


Нужно, чтобы содержание статьи показывалось после 1 абзаца, как это сделать ?
Может в плагине что-то изменить?
Движок WP
Вот код плагина содержания:

Развернуть/Свернуть
<?php
/*
Plugin Name: Marafon.Contents
Version: 0.1
*/

define('MK_CONTENTS_DEEPEST_H', 3);
define('MK_CONTENTS_AT_LEAST', 2);

function mk_contents_get_last_ind($id) {
    $pos = strrpos($id, '-');
    if ($pos === false) {
        return false;
    }
    return intval(substr($id, $pos + 1));
}

function mk_contents_truncate_last_ind($id) {
    $pos = strrpos($id, '-');
    if ($pos === false) {
        return false;
    }
    return substr($id, 0, $pos);
}

function mk_contents_increment_last_ind($id) {
    $t = mk_contents_get_last_ind($id);
    if (!$t) {
        return false;
    }
    $id = mk_contents_truncate_last_ind($id);
    $id .= '-' . ($t + 1);
    return $id;
}

function mk_contents ( $content = '' ) {
    if ( is_single() ) {
        if (preg_match_all('|<h([0-9]+)([^>]*)>(.*?)</h|ims', $content, $m)) {

            $n = sizeof($m[0]);

            // Checks for the needed amount of headers.
            $cnt = 0;
            for ($i = 0; $i < $n; $i++) {
                $m[1][$i] = intval($m[1][$i]);
                if ($m[1][$i] <= MK_CONTENTS_DEEPEST_H) {
                    $cnt++;
                }
            }
            if ($cnt < MK_CONTENTS_AT_LEAST) {
                return $content;
            }

            $initial_content = $content; // Saves the initial content of the post. It is returned whenever some error occurs.
            $contents = ''; // For li-elements of the final contents.

            //print_r($m);

            $prev_h = 1;
            $id = 'part';
            for ($i = 0; $i < $n; $i++) {
                $cur_h = $m[1][$i];
                if ($cur_h > MK_CONTENTS_DEEPEST_H) {
                    continue;
                }

                // Defines the id (part-...).
                if ($cur_h > $prev_h) { // deeper level
                    $id .= '-1';
                } elseif ($cur_h == $prev_h) { // the same level
                    $id = mk_contents_increment_last_ind($id);
                } elseif ($cur_h < $prev_h) { // higher level
                    for ($t = 0; $t < $prev_h - $cur_h; $t++) {
                        $id = mk_contents_truncate_last_ind($id);
                    }
                    $id = mk_contents_increment_last_ind($id);
                }
                if (!$id) { // some error
                    return $initial_content;
                }

                // Adds the link to the contents.
                $contents .= '<li class="cont' . $cur_h . '"><a href="#' . $id . '">' . $m[3][$i] . '</a></li>' . "\n";

                // Adds the 'id' attribute to the header.
                /*$content = str_replace(
                    $m[0][$i],
                    '<h' . $m[1][$i] . ' id="' . $id . '"' . $m[2][$i] . '>' . $m[3][$i] . '</h',
                    $content
                );*/

                // Another approach - with anchors (JLady).
                $content = str_replace(
                    $m[0][$i],
                    '<p><a name="'. $id . '"></a></p>' . "\n" . $m[0][$i],
                    $content
                );

                $prev_h = $cur_h;
            }

            $content = '<p><b>Содержание статьи:</b></p>' . "\n\n"
                . '<ul class="contents">' . "\n" . $contents . '</ul>' . "\n\n"
                . $content;

        }
    }
    return $content;
}

add_filter('the_content', 'mk_contents', 10);

?>


Сообщение отредактировал grumdas - 3.9.2013, 10:24
Причина редактирования: убрал код под спойлер
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
arturios
arturios
сообщение 3.9.2013, 10:22; Ответить: arturios
Сообщение #2


JavaSE
******

Группа: Super Moderator
Сообщений: 1803
Регистрация: 16.10.2012
Из: Москва
Поблагодарили: 1296 раз
Репутация:   78  


вы о чем вообще?
где показывалось?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
seo_talisman
seo_talisman
сообщение 3.9.2013, 10:29; Ответить: seo_talisman
Сообщение #3


Частый гость
**

Группа: User
Сообщений: 99
Регистрация: 1.9.2013
Из: Беларусь
Поблагодарили: 14 раз
Репутация:   1  


Не понял суть вопроса, но возможно ты этого хочешь... Попробуй заменить на это:

Развернуть/Свернуть
<?php
/*
Plugin Name: Marafon.Contents
Version: 0.1
*/

define('MK_CONTENTS_DEEPEST_H', 3);
define('MK_CONTENTS_AT_LEAST', 2);

function mk_contents_get_last_ind($id) {
    $pos = strrpos($id, '-');
    if ($pos === false) {
        return false;
    }
    return intval(substr($id, $pos + 1));
}

function mk_contents_truncate_last_ind($id) {
    $pos = strrpos($id, '-');
    if ($pos === false) {
        return false;
    }
    return substr($id, 0, $pos);
}

function mk_contents_increment_last_ind($id) {
    $t = mk_contents_get_last_ind($id);
    if (!$t) {
        return false;
    }
    $id = mk_contents_truncate_last_ind($id);
    $id .= '-' . ($t + 1);
    return $id;
}

function mk_contents ( $content = '' ) {
    if ( is_single() ) {
        if (preg_match_all('|<h([0-9]+)([^>]*)>(.*?)</h|ims', $content, $m)) {

            $n = sizeof($m[0]);

            // Checks for the needed amount of headers.
            $cnt = 0;
            for ($i = 0; $i < $n; $i++) {
                $m[1][$i] = intval($m[1][$i]);
                if ($m[1][$i] <= MK_CONTENTS_DEEPEST_H) {
                    $cnt++;
                }
            }
            if ($cnt < MK_CONTENTS_AT_LEAST) {
                return $content;
            }

            $initial_content = $content; // Saves the initial content of the post. It is returned whenever some error occurs.
            $contents = ''; // For li-elements of the final contents.

            //print_r($m);

            $prev_h = 1;
            $id = 'part';
            for ($i = 0; $i < $n; $i++) {
                $cur_h = $m[1][$i];
                if ($cur_h > MK_CONTENTS_DEEPEST_H) {
                    continue;
                }

                // Defines the id (part-...).
                if ($cur_h > $prev_h) { // deeper level
                    $id .= '-1';
                } elseif ($cur_h == $prev_h) { // the same level
                    $id = mk_contents_increment_last_ind($id);
                } elseif ($cur_h < $prev_h) { // higher level
                    for ($t = 0; $t < $prev_h - $cur_h; $t++) {
                        $id = mk_contents_truncate_last_ind($id);
                    }
                    $id = mk_contents_increment_last_ind($id);
                }
                if (!$id) { // some error
                    return $initial_content;
                }

                // Adds the link to the contents.
                $contents .= '<li class="cont' . $cur_h . '"><a href="#' . $id . '">' . $m[3][$i] . '</a></li>' . "\n";

                // Adds the 'id' attribute to the header.
                /*$content = str_replace(
                    $m[0][$i],
                    '<h' . $m[1][$i] . ' id="' . $id . '"' . $m[2][$i] . '>' . $m[3][$i] . '</h',
                    $content
                );*/

                // Another approach - with anchors (JLady).
                $content = str_replace(
                    $m[0][$i],
                    '<p><a name="'. $id . '"></a></p>' . "\n" . $m[0][$i],
                    $content
                );

                $prev_h = $cur_h;
            }

            $content = '<p><b>Содержание статьи:</b></p><br>' . "\n\n"
                . '<ul class="contents">' . "\n" . $contents . '</ul>' . "\n\n"
                . $content;

        }
    }
    return $content;
}

add_filter('the_content', 'mk_contents', 10);

?>


Если проблема не решена, пиши. А лучше выложи скриншот проблемы. Чтобы было легче понять суть вопроса и сразу же помочь тебе.

Сообщение отредактировал seo_talisman - 3.9.2013, 10:32


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vipsol1n
vipsol1n
Topic Starter сообщение 3.9.2013, 13:34; Ответить: vipsol1n
Сообщение #4


Новичок
*

Группа: Viewer
Сообщений: 13
Регистрация: 1.9.2013
Поблагодарили: 0 раз
Репутация:   0  


arturios, Что не понятного ? Если содержание статьи наверняка в статье должно показываться.
seo_talisman, не помогло

Кароче, плагин который у меня стоит показывает Содержание в статье, и содержание выводится в начале статьи автомотически, что нужно поменять в коде чтобы содержание выводилось не в самом начале статьи а после 1 абзаца.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
tpe3egol
tpe3egol
сообщение 26.10.2013, 2:19; Ответить: tpe3egol
Сообщение #5


Частый гость
**

Группа: User
Сообщений: 71
Регистрация: 19.10.2013
Поблагодарили: 17 раз
Репутация:   1  


Была когда-то такая же нужна. Ответа не нашел, но долго и не искал. Обошелся и без этого happy.gif


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Продаются готовые статьи (рерайтинг и копирайтинг)
Тематики разные
116 Михаил 41436 16.12.2017, 1:00
автор: Михаил
Открытая тема (нет новых ответов) Вопрос по seo для интернет магазина
куда девать продвинутые товары, которые уже не выпускают
18 viktormerke 2815 15.12.2017, 15:18
автор: Smspva
Горячая тема (нет новых ответов) Продаются готовые статьи
рерайт, копирайтинг
97 Slavchac 33595 15.12.2017, 10:56
автор: Slavchac
Открытая тема (нет новых ответов) Статьи по 5р за 1000 знаков
из вебархива, тема: строительство и ремонт
4 scovorodca 1790 15.12.2017, 10:54
автор: scovorodca
Горячая тема (нет новых ответов) Рекомендую: размещение статьи на сайте, ТИЦ 325, PR 6, траст XT 8
44 rumblade 10697 14.12.2017, 15:45
автор: rumblade


 



RSS Текстовая версия Сейчас: 18.12.2017, 1:38
Дизайн