Wordpress PHP - ай нид хелп
Новая тема Написать ответ
# Вс Апр 06, 2008 5:51 pmKonkoff Зарег.: 01.10.2007 ; Сообщ.: 71Ответить с цитатой
Есть в вордпрессе различные странички одна из них page.php которая является шаблоном для КАТЕГОРИИ страницы.
Мне бы хотелось чтобы только на одной из них выполнялся определённый скрипт при помощи конструкции IF, но в синтаксисе php я не силён (
В начале страницы есть строка
Код:
<h1><?php the_title(); ?></h1>



, которая вызывает и публикует название страницы, я решил отталкиваться от этого значения, написал дополнительно одну строчку, которая присваивает значение названия страницы:
Код:
<h1><?php the_title(); ?></h1>
<?php $kon=the_title(); ?>


и при мягко говоря ТЕСТЕ данного программного "продукта" получил в браузере 2 названия странички
одно побольше в H2 тегах другое поменьше. Призадумался...
Потом понял, что команда печати идёт из функции the_title();
но вот где она сидит я незнаю.

По уму, хочу в этой функции присвоить название страницы какой-нибудь переменной и передать его в page.php, ну а там:
Код:
<?php if (переменная='названию страницы') {при совпадении выполнить} ?>



Так? Где же искать эту долбаную функцию?
# Вс Апр 06, 2008 6:36 pmcreastar Зарег.: 22.03.2008 ; Сообщ.: 16Ответить с цитатой
Код:
function the_title($before = '', $after = '', $echo = true) {
   $title = get_the_title();

   if ( strlen($title) == 0 )
      return;

   $title = $before . $title . $after;

   if ( $echo )
      echo $title;
   else
      return $title;
}



вот эта функция в WP
# Вс Апр 06, 2008 6:39 pmKonkoff Зарег.: 01.10.2007 ; Сообщ.: 71Ответить с цитатой
Спасибо, а размещать её где?
# Вс Апр 06, 2008 6:48 pmВацлав Зарег.: 21.02.2006 ; Сообщ.: 4965Ответить с цитатой
Во-первых page.php отвечает за шаблон "статичной страницы", а не категории. за отображение категории отвечает темплет category.php - если в твоей теме не установлена такая часть темлета, то по умолчанию будет использован шаблон index.php

Во вторых, the_title() - это функция, которая выводит значение, а не возвращает (т.е. ее нельзя присвоить переменной $kon).
Чтобы просто получить название страницы (внимание! страницы или текущего поста, а не название категории) достаточно выполнить конструкцию:
Код:
<?php $kon=the_title_attribute('echo=0'); ?>


Для получения названия текущей категории (в категориях, но не на страницах или в посте) делаем следующее:
Код:
<?php $current_category = single_cat_title("", false); ?>

# Вс Апр 06, 2008 6:52 pmВацлав Зарег.: 21.02.2006 ; Сообщ.: 4965Ответить с цитатой
creastar, ну что-ты ерунду-то городишь, блин?
# Вс Апр 06, 2008 6:52 pmKonkoff Зарег.: 01.10.2007 ; Сообщ.: 71Ответить с цитатой
Вацлав, да page.php это шаблон статичной страницы (скорее я неправльно что-то в описании топика написал)
Категории мне не нужны на самом деле, мне нужно в page.php получить название страницы
то есть я могу использовать
Код:
<?php $kon=the_title_attribute('echo=0'); ?>


для получения названия page.php ?
# Вс Апр 06, 2008 6:56 pmKonkoff Зарег.: 01.10.2007 ; Сообщ.: 71Ответить с цитатой
PS на строку
Код:
<?php $kon=the_title_attribute('echo=0'); ?>


выдало
Fatal error: Call to undefined function: the_title_attribute()

WP 2.2.1
Насколько я силён - он не знает такую функцию ((
# Вс Апр 06, 2008 7:14 pmKonkoff Зарег.: 01.10.2007 ; Сообщ.: 71Ответить с цитатой
Разобрался,
дело обстояло так:
Код:
<?php $kon=get_the_title(); ?>
<?php echo $kon; ?>

# Вс Апр 06, 2008 8:32 pmВацлав Зарег.: 21.02.2006 ; Сообщ.: 4965Ответить с цитатой
2.2.1? Он же дырявый как сито.
А не работает сия функция потому, что она как и the_title должна вызываться внутри лупа.
# Вс Апр 06, 2008 10:51 pmKonkoff Зарег.: 01.10.2007 ; Сообщ.: 71Ответить с цитатой
Вацлав - вопрос:
я делаю сайт на WP, а вернее уже его собрал и сделал - остановка была только из-за этого топика.
Комменты отключены, весь интерактив отключен - через что могут "подсосаться"?

Переделывать, ну не запарюсь )) но не охота!
# Пн Апр 07, 2008 12:59 amВацлав Зарег.: 21.02.2006 ; Сообщ.: 4965Ответить с цитатой
Отключены-то отключены, но файлик xmlrpc никуда из твоей системы не делся Smile А уж (без обид) с твоим знанием матчасти - ты уверен, что в своих переделках не открыл еще дырок?
Да и что там переделывать-то? Ты же вносил изменения не в движок, а в темплеты, верно? Ну так они будут нормально работать (на 100%) и в ветке движка 2.3.X и на 99% в ветке 2.5.x
# Пн Апр 07, 2008 3:36 amKonkoff Зарег.: 01.10.2007 ; Сообщ.: 71Ответить с цитатой
Какие обиды? Учиться и так три раза...

Ещё дырки не открыл 100%, изменения были в темпл.
Ок, перехожу - сам сайт делал на своём полигоне, переносить буду на 2.5
# Пн Апр 07, 2008 7:43 amTaburetkin Зарег.: 25.02.2007 ; Сообщ.: 1426Ответить с цитатой
Konkoff писал(а):
Комменты отключены, весь интерактив отключен - через что могут "подсосаться"?



Плагины.
Последний с дырой был WP Cache причем с очень неприятной. Удалил его нахрен
# Пн Апр 07, 2008 11:34 amcreastar Зарег.: 22.03.2008 ; Сообщ.: 16Ответить с цитатой
Вацлав, Konkoff спросил по функции the_title, я скинул ему эту функцию Shocked
Новая тема Написать ответ    ГЛАВНАЯ ~ СОЦИАЛЬНЫЕ СЕТИ И БЛОГИ
 
Любое использование материалов, размещенных на ArmadaBoard.com, без разрешения владельцев ArmadaBoard.com запрещено.