Вопрос знатокам wordpress ?

12
G
На сайте с 20.07.2008
Offline
85
1167

Вот когда шаблон делаешь, то там только определенные страницы по умолчанию. А я хочу к примеру добавить страницу test.php и её инклудить, но что то не работает. И когда пытаюсь зайти на site.ru/test.php тоже не работает. А в корень сайта как то не хочется ложить. Хотелось бы чтоб в теме шаблона лежало. Как сделать?

melkozaur
На сайте с 06.04.2010
Offline
536
#1

Garf,

К ней нужно присобачить в самом начале

<?php

/*
Template Name: ИМЯ
*/
?>

Тогда появится возможность при создании новой страницы выбрать этот шаблон.

S1
На сайте с 13.03.2008
Offline
49
#2
melkozaur:
Garf,
К ней нужно присобачить в самом начале
<?php
/*
Template Name: ИМЯ
*/
?>

Тогда появится возможность при создании новой страницы выбрать этот шаблон.

имхо нерационально - появляются ненужные запросы к бд. В index.php вставь что-то вроде:

if(isset($_GET['mytest']) && $_GET[mytest] == 'test')
require_once(TEMPLATEPATH. 'test.php');

Ну и следовательно инклюдится так: вашсайт.ru/?mytest=test

Дизайн сайтов (UI/UX), логотипов, баннеров и прочего... (/ru/forum/770062)
blackcat72
На сайте с 22.03.2009
Offline
25
#3

Берем файл wp-includes\general-template.php

Читаем как прописаны, например, "стандартные" файлы footer.php или header.php:

function get_header( $name = null ) {

do_action( 'get_header', $name );

$templates = array();
if ( isset($name) )
$templates[] = "header-{$name}.php";

$templates[] = "header.php";

if ('' == locate_template($templates, true))
load_template( get_theme_root() . '/default/header.php');
}

или

function get_footer( $name = null ) {

do_action( 'get_footer', $name );

$templates = array();
if ( isset($name) )
$templates[] = "footer-{$name}.php";

$templates[] = "footer.php";

if ('' == locate_template($templates, true))
load_template( get_theme_root() . '/default/footer.php');
}
соответственно, что в общем одинаково. Добавляем такой же блок кода. Меняем название функции и имя файла на свои. Прописываем в шаблоне вызов как
<?php get_header(); ?>
или
<?php get_footer(); ?>
для данных примеров, соответственно, поменяв, конечно, на свое.
--- Лучше день потерять, зато потом за пять минут долететь.
G
На сайте с 20.07.2008
Offline
85
#4

blackcat72, Так конечно можно, но при обновлении движка, файлы заменятся и все пропадет.

melkozaur, А так надо файл выбирать именно в админке вордпресса, как то не удобно. Охота так, положил в папку с шаблонами файл test.php. И на прямую к нему обращаться site.ru/test.php

smart1k, Так то интересное решение, но есть ли более простое?

maldivec
На сайте с 04.11.2008
Offline
160
#5
Garf:
Охота так, положил в папку с шаблонами файл test.php. И на прямую к нему обращаться site.ru/test.php

Так у вас вордпресс работать не будет. Ему же для работы нужно инклюдить не только файлы шаблона, но и ядро и плагины и проч.

melkozaur правильно сказал, задаете шаблону имя и при создании страницы его выбираете. Неужели пара лишних кликов мышкой вас так затруднит?

G
На сайте с 20.07.2008
Offline
85
#6

maldivec, ок. Сейчас создал страницу test.php и положил её в папку с шаблоном. Внутри написал так:

<?php

/*

Template Name: testik

*/

?>

Сохранил. Захожу на эту страницу site.ru/test.php - не работает. Захожу по другому site.ru/testik - тоже не работает. Что не так?

Jaf4
На сайте с 03.08.2009
Offline
804
#7
Garf:
maldivec, ок. Сейчас создал страницу test.php и положил её в папку с шаблоном.
====================
Сохранил. Захожу на эту страницу site.ru/test.php - не работает. Захожу по другому site.ru/testik - тоже не работает. Что не так?

Ну ты даешь..🤪 ты не страницу создал, а шаблон. Создай страницу-то в админке с использованием шаблона.. шаблон выбирается в правой колонке редактора.. и адрес у страницы будет скорее всего другой.

Все, пятница понеслась. Сегодня работаю только до обеда.

New! NVMe VPS от SmartApe.ru (https://goo.gl/eoYYkS)
G
На сайте с 20.07.2008
Offline
85
#8

Jaf4, Спасибо за подсказку. Теперь получил, то что хотел.

Garf добавил 26.08.2011 в 15:14

Хочу интегрировать свое большое меню под wordpress.

Меню у меня такое:

Рубрика1

Подрубрика

Подподрубрика

Подподрубрика

Подрубрика

Подподрубрика

Подподрубрика

Рубрика2

Подрубрика

Подподрубрика

Подподрубрика

Подрубрика

Подподрубрика

Подподрубрика

У меня к меню свои стили и элементы, поэтому функцию вывода рубрик wp_list_categories() я отбросил. Чтобы конкретно свои стили прописать я стал использовать только get_categories();

Сделал такой код:

$args=array(

'type' => 'post',

'child_of' => 0,

'parent' => 0,

'orderby' => 'name',

'order' => 'ASC',

'hide_empty' => false,

'include_last_update_time' => false,

'hierarchical' => 1,

'pad_counts' => false

);

$categories = get_categories($args);

foreach ($categories as $cat) {

$id = $cat->cat_ID;

$link = get_category_link($id);

echo "<a href='$link'>$cat->cat_name</a>";

Выводятся все рубрики, но как в таком коде отличать рубрики, подрубрики и подподрубрики? Мне надо как то свои стили применить, но пока сложно разобраться, если кто знает, подскажите? Спасибо

}

В другой теме мне подсказали применить такие стили:

.menu li {} - первый уровень

.menu li li {} - второй уровень

.menu li li li {} - третий уровень

Он мне не совсем подходит. Вот что я ему в ответ написал:

У меня там все рубрики выводят. Как именно к примеру рубрика должна содержатся в переменной $rubrika, подрубрика должна содержатся в переменной $podrubrika, подподрубрика должна содержатся в переменной $podpodrubrika, И чтоб все выводилось попорядку. Вот это незнаю как сделать, неподскажите? А сейчас то у меня все и рубрики и подрубрики и подподрубриками выводятся через одну переменную и как в таком случае определять их?

Как такое реализовать пока никто не знает.

S1
На сайте с 13.03.2008
Offline
49
#9

"Стильную" иерархию категорий выстраивает класс Walker category. Поэтому проще переписать css под wp_list_categories, чем создавать расширение класса со своими стилями.

G
На сайте с 20.07.2008
Offline
85
#10

smart1k, get_categories выводит просто рубрики без всяких классов. Мне просто нужно как бы так сказать первую рубрику загонять в одну переменную, подрубрику в другую, подподрубрику в тертью. Таогда я уже с кодом html хоть что смогу сделать. Переписывать все под wp_list_categories не выгодно. Потому как у меня необычное меню в связке с javascript. Поэтому мне нужно сделать по другому.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий