ГлавнаяWordpressАвторские Функции → Перелинковка статей (предыдущие записи)

Перелинковка статей (предыдущие записи)

Комментариев: 51Перелинковка статей (предыдущие записи)
  • *Вы код функции в файл темы functions.php вставили?*
    Конечно вставил функцию, и всё отлично отображается,только без слова скачать, а вот когда пытаюсь добавить оба предложенных варианта, то выдаёт ошибку.

    ОТВЕТИТЬ ↓
  • Спасибо большое! После некоторых колупаний получилось. smile Есть пара вопросов не по данной теме. Если позволите, то куда лучше задать? Спасибо.

    ОТВЕТИТЬ ↓
    • Пожалуйста! Если ничего глобального, то спрашивайте здесь, в противном случае можно в обратную связь.

      ОТВЕТИТЬ ↓
      • Вроде не особо и глобально.
        Есть скрипт фотоконкурса http://wordpress.org/extend/plugins/wp-photocontest/ По описанию должен быть просто то, что надо, но в реалии то ли не доработан, то ли еще что, ну и не переведен конечно. Короче говоря, у меня не пошел, хотя и установился через загрузчик без проблем и в админку добавился, но в работе я его до ума довести не сумел. В интернете ничего путного по этой теме более не нашел. Мне кажется, было бы много благодарных читателей, я в первых рядах, которые с радостью бы приняли этот плагин себе на вооружение.
        И второе, более приземленное smile , как бы убрать эту злосчастную ссылку на Вордпресс, которая находится в правой колонке в блоке мета (честно говоря, отыскать ее в файлах блога просто не сумел), к тому же где-то читал, что если не сделать правильно, то блог вообще перестает работать.
        Спасибо!

        ОТВЕТИТЬ ↓
        • Вот еще что обнаружилось. После установки плагина перелинковки начал сегодня добавлять сообщение и в админке на странице добавления выскакивает ошибка Warning: Cannot modify header information - headers already sent by (output started at /home/z/public_html/blog/wp-content/themes/jarrah/functions.php:1) in /home/zalogus6/public_html/blog/wp-includes/classes.php on line 1601
          Визуально не могу определить на что она влияет, но наблюдается такое предупреждение.

          ОТВЕТИТЬ ↓
  • Ошибка скорее всего в размещении кода в файл functions.php.

    Читал ранее. Сейчас попытался убрать пробел и все улетело... пустой экран и ошибка Fatal error: Call to undefined function: add_action() in /home/z/public_html/blog/wp-includes/functions.php on line 18
    Гружу новый пустой файл functions.php и ничего не меняется - так и не аозвращается блог

    ОТВЕТИТЬ ↓
    • Откатил все обратно. Подскажите пожалуйста как правильно вставить Ваш плагин в код.

      ОТВЕТИТЬ ↓
    • Вставьте код функции прям перед последней ?> и никаких ошибок быть не должно.

      ОТВЕТИТЬ ↓
      • Добавил код непосредственно перед последним ? ... без пробелов и переносов. Та же самая ситуация получается. При создании сообщения, в момент автоматического сохранения черновика выскакивает эта ошибка прям в центре экрана.

        Warning: Cannot modify header information - headers already sent by (output started at /home/z/public_html/blog/wp-content/themes/jarrah/functions.php:1) in /home/z/public_html/blog/wp-includes/classes.php on line 1601

        Что характерно, и строки с таким номером нет, там максимум 290 что ли...

        ОТВЕТИТЬ ↓
        • А скрипт работает. Где же, что же... Образец

          ОТВЕТИТЬ ↓
          • Вот что получается... теперь при каждой операции выскакивает ошибка. Удалил из черновика записи и получил следующее:

            Warning: Cannot modify header information - headers already sent by (output started at /home/z/public_html/blog/wp-content/themes/jarrah/functions.php:1) in /home/z/public_html/blog/wp-includes/pluggable.php on line 890

            А вот и видимое... при комментировании записи получил вот:

            Warning: Cannot modify header information - headers already sent by (output started at /home/z/public_html/blog/wp-content/themes/jarrah/functions.php:1) in /home/z/public_html/blog/wp-includes/pluggable.php on line 890

            Елки-палки... а жаль-то как

        • Похоже у вас в самом начале файла перенос строки потом <?php а потом уже начинаются все коды. Ошибка в первой строчке functions.php.
          Причем тут моя функция я чет понят не могу smile

          ОТВЕТИТЬ ↓
          • Я же не виню Вашу функцию, а очень даже наоборот хочу ее установить smile

            Елки-палки, нет пробела в начале, прям от стеночки стартует. Может быть скинуть Вам файл?

            По фото что скажете? Не интересно и бесперспективно или есть смысл подождать?

          • Киньте файл на tkama@bk.ru посмотрю, может че полезное увижу smile

  • Странные вещи творятся... Вставил код в function.php и вызов функции в single.php. Всё работает, ссылки есть. Но! Нифига не в том порядке!
    Так, например, если представить, что у нас 10 записей, и последней была опубликована 10-я, то открыв её мы видим ссылки (сверху вниз) на 1-ю, 6-ю, 5-ю, 4-ю, 3-ю... Если зайдём на 9-ю запись, то ссылки (сверху вниз) такие: 8, 7, 10, 1, 6... Если зайдём на 8-ю, то ссылки такие: 7, 10, 1, 6, 5. И так далее...
    А зайдя в первую запись видим такие ссылки: 6, 5, 4, 3, 2.
    Это глюк такой? Как его можно поправить?

    ОТВЕТИТЬ ↓
  • Забыл сказать... Категория у всех записей одна и та же, меток нет...

    ОТВЕТИТЬ ↓
    • Для данной функции категория не имеет никакого значения.

      Возможно у вас записи публиковались задним числом, поэтому такая ересь творится. Других объяснений я не вижу.

      Попробуйте изменить ORDER BY ID DESC на ORDER BY post_date DESC. В общем-то, так правильнее!

      ОТВЕТИТЬ ↓
      • Да, вы правы. Была пара статей, которые я кинул в прошлое... smile

        Теперь по поводу правки. Попробовал заменить ORDER BY ID DESC на ORDER BY post_date DESC. Изменил код в двух местах. Помогло частично. С теми статьями, которые опубликованы в прошлое засада осталась. Возможно, это связано с тем, что в других местах вашего кода ID статей всё-таки используется в функциях... В связи с этим - вопрос: можно ли вообще отойти от ID, и что для этого нужно изменить в коде?
        Или проще поменять ID статей руками? И тогда - с помощью чего это можно сделать? Есть ли такой плагин?

        ОТВЕТИТЬ ↓
        • О, точно: условие WHERE ID < $post->ID опять на ID завязано smile
          Замените на WHERE post_date < $post->post_date.

          А вообще, если это не критично, то лучше оставить по ID, потому что выборка из БД быстрее происходит, чем по дате. Я поэтому изначально по ID сделал.

          П.С. ID для каждой статьи уникальный, его менять нельзя!

          ОТВЕТИТЬ ↓
          • Заменил. Теперь на каждой статье показываются ссылки только на последние пять статей, независимо от того, какую статью мы читаем сейчас.
            А в коде ещё есть WHERE ID NOT IN ($exclude). Попробовал заменить и в ней ID на post_date - нифига не помогло... sad
            Больше ID нигде пока не нашёл... sad

          • WHERE ID NOT IN ($exclude) - это не надо трогать - это правильно!

            Я направил вас по ложному следу, простите меня, грешного laugh . Дата ведь строковые данные поэтому надо в кавычки её:WHERE post_date < '$post->post_date'

  • Так вот оно чё, Михалыч... wink

    ОТВЕТИТЬ ↓
  • Кавычки вставил, что не надо было трогать - исправил обратно, и .....

    Шайтанама! Всё работает как надо! smile

    Пасиб, Кама!

    ОТВЕТИТЬ ↓
  • Большое спасибо! Как раз то, что искал.
    Установил за минуту. Всё работает отлично.

    ОТВЕТИТЬ ↓
    • На здоровье! *ok*

      ОТВЕТИТЬ ↓
  • Спасибо автору. Заработал сразу. Классная штука.

    ОТВЕТИТЬ ↓
  • Доброго вечера.

    Подскажите, пожалуйста, как сделать так, чтобы ссылки были в конце поста один раз: когда я добавил код в single.php темы, у меня вообще посты перестали открываться. smile И куда бы я не добавлял, ничего хорошего не происходит.
    Код этого файла single.php выглядит так:

    <?php
    get_header();
    if (have_posts())
    {
      while (have_posts())
      {
        art_page_navi();
        art_post();
        comments_template();
      }
      art_page_navi();
    } else {
      art_not_found_msg();
    }
    get_footer(); 

    А потом я решил добавить этот код в файл post.php. И в этом случае у меня выводятся ссылки и выводятся корректно, но в нескольких местах (как минимум в двух) - в зависимости от того, после какой строки я его вставляю.
    Данный файл post.php выглядит таким образом:

                          <div class="art-post<?php echo $post_class; ?>" <?php echo $post_id; ?>>
                              <div class="art-post-body">
                                      <div class="art-post-inner art-article">
                                          <?php echo $post_thumbnail; ?>
                                                          <?php echo $post_title; ?>
                                          <?php echo $post_metadataheader; ?>
                                          <div class="art-postcontent">
                                              <?php echo $post_content; ?>
                                          </div>
                                          <div class="cleared"></div>
                                          <?php echo $post_metadatafooter; ?>
                                      </div>
                          		<div class="cleared"></div>
                              </div>
                          </div>

    Подскажите, пожалуйста, куда копать?

    ОТВЕТИТЬ ↓
    • В общем, всё заработало smile Я, короче, сам дятел (что и так понятно smile) Что было не так: в теме выводится постраничная навигация и комментарии. По большому счёту ни то, ни другое мне на почти статичном сайте не нужно.
      А когда закомментировал это - выводиться предыдущие посты стали там, где надо, и в нужных количествах.
      Спасибо за полезную функцию. И удачи.

      ОТВЕТИТЬ ↓
Форма комментирования

¤ Вставляйте код кнопкой: "Код" (php, js, html, css, sql);
¤ Выделяйте HTML код кнопкой: "Выделить" (<div>);
¤ Перед отправкой комментария используйте "Превью";
¤ Не пишите спам/бред — бесполезно!

Подписаться на комментарии без комментирования:

X

Забыли пароль?