Моля за помощ за различен банер на всяка страница
-
Темата ми е Twenty Eleven. Създал съм пет страници за сайта и искам на всяка страница да има раличен банер. Опитах вариантил които предлагат във форумитер но нищо не се получава. Благодаря предварително.
-
if(is_page('str1')){ echo '<img src="blabla.jpg"/>'; } elseif (is_page('str2')){ echo '<img src="blabla3.jpg"/>'; }
Това цялото го мушваш там, където искаш да ти излизат банерите. Адресите към тях е най-добре да са абсолютни, за да няма фалове.
Благодаря ти колега, извинявай за късния отговор, но понеже го направих отдавна, забравих да погледна във форума. Сега се боря с другия проблем: на Home-то при всяко отваряне да ми се появяват различни банери (от тези 5 които съм качил), а другите четири страници да си останат със статични банери. Ако имаш някаква идея, подскажи. Благодаря ти предварително.
E в твоя случай просто въртиш random от 5-те банера в блокът
if (is_home() || is_front_page()){ //echo на произволен банер }
Благодаря ти за бързия отговор, но не става или аз някъде греша. Ето ми целия код:
<?php
if (is_home() || is_front_page()){
echo ‘<img src=“/wp-content/uploads/2011/12/Home_banner.jpg“ />’;
} elseif (is_page(‘plan’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Plan_banner.jpg“ />’;
} elseif (is_page(‘execute’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Execute_banner.jpg“ />’;
} elseif (is_page(‘improve’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Improve_banner.jpg“ />’;
} elseif (is_page(‘contact’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Contacts_banner.jpg“ />’;
} ?>
На home-то банера не се сменя.А какъв изкарва вместо Home_banner.jpg?
Изкарва само Home_baner.jpg
В онзи if блок, за който ти казах, трябва да вкараш код, който да избира на произволен принцип различна картинка на всяко зареждане. Няма да ти пиша кода, помисли, поразрови се из php.net и ще успееш да го направиш 😉
Благодаря ти, прав си, просто бързам, но ще го направя.
Написах следното, при което банера в home-то се сменя, но на другите страници излизат по два банера, като долния е банера за съответната страница, а горния се сменя при всяко ново зареждане. Ако имаш малко време, хвърли едно око и виж къде ми е грешката. Благодаря ти предварително.
<?php
if ( is_page(‘home’) &&
$image[Home_banner.jpg] >= HEADER_IMAGE_WIDTH ) :
echo ‘<img src=“wp-content/uploads/2012/01/Home_banner.jpg“ />’;
else : ?>
<img src=“<?php header_image(); ?>“ width=“<?php echo HEADER_IMAGE_WIDTH; ?>;“ height=“<?php echo HEADER_IMAGE_HEIGHT; ?>“ />
<?php endif; ?>
<?php
if (is_page(‘plan’)){
echo ‘<img src=“wp-content/uploads/2012/01/Plan_banner.jpg“ />’;
} elseif (is_page(‘execute’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Execute_banner.jpg“ />’;
} elseif (is_page(‘improve’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Improve_banner.jpg“ />’;
} elseif (is_page(‘contact’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Contacts_banner.jpg“ />’;
} ?>else блокът ти се изпълнява при всяка друга страница, заради което се случва изкарването на два банера на всяка друга страница.
Даже и така работи по същия начин:
<img src=“<?php header_image(); ?>“ width=“<?php echo HEADER_IMAGE_WIDTH; ?>“ height=“<?php echo HEADER_IMAGE_HEIGHT; ?>“ alt=““ />
if (is_page(‘plan’)){
echo ‘<img src=“wp-content/uploads/2012/01/Plan_banner.jpg“ />’;
} elseif (is_page(‘execute’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Execute_banner.jpg“ />’;
} elseif (is_page(‘improve’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Improve_banner.jpg“ />’;
} elseif (is_page(‘contact’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Contacts_banner.jpg“ />’;
} ?>
Как да го направя да не се изпълнява?Бих ти препоръчал да се запознаеш с основи на програмирането или просто да си припомниш логиката зад if и else операторите. Не искам да те обидя, съвсем добронамерено гоказвам: не личи, че разсъждаваш върху кода си. От предишния ти коментар трябваше да махнеш само това:
else : ?> <img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>;" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" />
… защото се изпълнява винаги, когато не си на начална страница. Останалите надолу се изпълняват според условията си.
Ха дано тоя път стане!
Ами аз и това го правих, но не го коментирах, защото при това положение страниците действително излизат с един банер, но на Home-то не излиза никакъв банер.
В такъв случай това, което беше в else-блока, който махна, трябва да се сложи на мястото на това, което е в if-блока, а от него самото условие да се коригира, като просто махнеш
$image[Home_banner.jpg] >= HEADER_IMAGE_WIDTH
което явно връща false.
Не е така. Ето го правилния код:
<?php
if (is_page(‘home’) || is_front_page() &&
$image[1] >= HEADER_IMAGE_WIDTH) :
?>
<img src=“<?php header_image(); ?>“ width=“<?php echo HEADER_IMAGE_WIDTH; ?>“ height=“<?php echo HEADER_IMAGE_HEIGHT; ?>“ alt=““ />
<?php endif; ?>
if (is_page(‘plan’)){
echo ‘<img src=“wp-content/uploads/2012/01/Plan_banner.jpg“ />’;
} elseif (is_page(‘execute’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Execute_banner.jpg“ />’;
} elseif (is_page(‘improve’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Improve_banner.jpg“ />’;
} elseif (is_page(‘contact’)){
echo ‘<img src=“/wp-content/uploads/2011/12/Contacts_banner.jpg“ />’;
} ?>
Благодаря ти за помоща и отделеното време!
- Темата ‘Моля за помощ за различен банер на всяка страница’ е затворена за нови отговори.