• Доброго времени суток.
    Прошу подсказать как заставить word press выводить на определенной статической странице текст из внешнего файла расположенного на сервере и доступного для чтения с правами вэб-сервера.

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Понимаю, что в базу если загнать — то меньше нагрузка, но у меня не много посетителей будет. Да и подготавливать файл мне легче будет.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Можно использовать в шаблоне страницы PHP-функцию include().

    т.е. я создаю статическую страницу и закидываю в нее только одну строку
    include(/home/site/www/file.txt)
    При этом останетя мой шаблон но в тело страницы тупо выведет содержимое файла.
    Я правильно вас понял?

    хм. он мне просто написал эту строку как текст.

    пробовал еще `<?php
    include(/home/sites/site/www/license.txt);
    ?>`
    Результат тот же.

    «в шаблоне» и «в нее» — две большие разницы. Вам нужно либо сделать индивидуальный шаблон страницы, либо поставить какой-нибудь плагин, позволяющий использовать php в контенте страницы. Я бы рекомендовал первый путь как более безопасный.

    Хорошо. Пойдем с другой стороны.
    Я использую переделанную тему inove
    В ней index.php — является базовым шаблоном.
    Копирую его с названием gazeta.hp
    В админке он не появился как шаблон. Нужно по идее где-то прописать.
    Где?

    Создание собственных шаблонов страниц

    Если всё сделано правильно, но шаблон не появился в выборе, нужно ре-активировать Тему.

    Вроде все сделал. Создал два шаблона. Они отобразились как надо. Двум страницам поставил эти шаблоны. Все нормально.

    Полез править шаблон и подключать текстовый файл. В этом файле сверстанный контент в html без header и body. Все на дивах.
    Подключаю так:

    <div class="content">
    <?php include(/home/sites/123/www/license.txt); ?>
    <p class="under">
    <?php if ($options['categories']) : ?><span class="categories"><?php the_category(', '); ?></span><?php endif; ?>
    <?php if ($options['tags']) : ?><span class="tags"><?php the_tags('', ', ', ''); ?></span><?php endif; ?>
    </p>
    <div class="fixed"></div>

    Он мне выдает чистую страницу. Если вместо моего инклуда любой текст — он отображается в нужном месте в моем шаблоне. Если инклуд — вообще чистый лист. В исходнике страницы пусто. Что делаю неправильно?

    А в приведенном примере вообще чисто txt файл. Без html вставок.

    Вообще-то нужно ставить кавычки
    include('/home/sites/123/www/license.txt');

    Ну и последний впорос.
    К моим двум шаблонам нужно подключить отдельные header.php
    Я скопировал header.php и назвал его header_mod.php
    Внес в него нужные коррективы.
    Можно ли в моих щаблонах вместо

    <?php get_header(); ?>
    <?php $options = get_option('inove_options'); ?>

    просто написать

    <?php include('/home/sites/123/www/header_mod.php'); ?>
    <?php $options = get_option('inove_options'); ?>

    Или новый хэдар нужно все-таки более цивилизованными способами прописывать?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. Если файлы лежат в одном каталоге, можно не указывать полный путь:

    <?php include('header_mod.php'); ?>

    2. А если файл переименовать в header-mod.php, можно написать и так:

    <?php get_header('mod'); ?>

    3. Если файлы в разных каталогах — да, ваш вариант подходит.

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Тема «содержимое txt на страницу» закрыта для новых ответов.