• Темата ми е Twenty Eleven. Създал съм пет страници за сайта и искам на всяка страница да има раличен банер. Опитах вариантил които предлагат във форумитер но нищо не се получава. Благодаря предварително.

Виждате 15 отговора - 1 от 15 (от 19 общо)
  • if(is_page('str1')){
    echo '<img src="blabla.jpg"/>';
    } elseif (is_page('str2')){
    echo '<img src="blabla3.jpg"/>';
    }

    Това цялото го мушваш там, където искаш да ти излизат банерите. Адресите към тях е най-добре да са абсолютни, за да няма фалове.

    Thread Starter bob2000

    (@bob2000)

    Благодаря ти колега, извинявай за късния отговор, но понеже го направих отдавна, забравих да погледна във форума. Сега се боря с другия проблем: на Home-то при всяко отваряне да ми се появяват различни банери (от тези 5 които съм качил), а другите четири страници да си останат със статични банери. Ако имаш някаква идея, подскажи. Благодаря ти предварително.

    E в твоя случай просто въртиш random от 5-те банера в блокът

    if (is_home() || is_front_page()){
    //echo на произволен банер
    }
    Thread Starter bob2000

    (@bob2000)

    Благодаря ти за бързия отговор, но не става или аз някъде греша. Ето ми целия код:
    <?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?

    Thread Starter bob2000

    (@bob2000)

    Изкарва само Home_baner.jpg

    В онзи if блок, за който ти казах, трябва да вкараш код, който да избира на произволен принцип различна картинка на всяко зареждане. Няма да ти пиша кода, помисли, поразрови се из php.net и ще успееш да го направиш 😉

    Thread Starter bob2000

    (@bob2000)

    Благодаря ти, прав си, просто бързам, но ще го направя.

    Thread Starter bob2000

    (@bob2000)

    Написах следното, при което банера в 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 блокът ти се изпълнява при всяка друга страница, заради което се случва изкарването на два банера на всяка друга страница.

    Thread Starter bob2000

    (@bob2000)

    Даже и така работи по същия начин:
    <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; ?>" />

    … защото се изпълнява винаги, когато не си на начална страница. Останалите надолу се изпълняват според условията си.

    Ха дано тоя път стане!

    Thread Starter bob2000

    (@bob2000)

    Ами аз и това го правих, но не го коментирах, защото при това положение страниците действително излизат с един банер, но на Home-то не излиза никакъв банер.

    В такъв случай това, което беше в else-блока, който махна, трябва да се сложи на мястото на това, което е в if-блока, а от него самото условие да се коригира, като просто махнеш

    $image[Home_banner.jpg] >= HEADER_IMAGE_WIDTH

    което явно връща false.

    Thread Starter bob2000

    (@bob2000)

    Не е така. Ето го правилния код:
    <?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“ />’;
    } ?>
    Благодаря ти за помоща и отделеното време!

Виждате 15 отговора - 1 от 15 (от 19 общо)
  • Темата ‘Моля за помощ за различен банер на всяка страница’ е затворена за нови отговори.