Перейти к содержимому


Пользователь месяца
OlgaGetman OlgaGetman 1-й за Декабрь
Очков активности: 2100 10 тем, 170 сообщений, 7 баллов репутации
ТОП самых активных за этот месяц
  • Фотография Ixman
    #1

    Ixman (o5cat.ru)
    Очков активности: 172.5 Вне конкурса за определение пользователя месяца

  • Фотография Андрей WPMasterKZ
    #2

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 97.5 Вне конкурса за определение пользователя месяца

  • Фотография BLIK
    #3

    BLIK
    Очков активности: 85.5 0 тем, 19 сообщений, 3 балла репутации

  • Фотография OlgaGetman
    #4

    OlgaGetman
    Очков активности: 69 Вне конкурса за определение пользователя месяца

  • Фотография Mandarin
    #5

    Mandarin
    Очков активности: 52.5 0 тем, 35 сообщений, 1 балл репутации

  • Фотография TimurR
    #6

    TimurR
    Очков активности: 49.5 Вне конкурса за определение пользователя месяца

  • Фотография Constantine
    #7

    Constantine
    Очков активности: 48 5 тем, 17 сообщений, 1 балл репутации

  • Фотография magnet
    #8

    magnet (rbfxdirect.com)
    Очков активности: 30 0 тем, 10 сообщений, 2 балла репутации

  • Фотография Алексей111
    #9

    Алексей111 (xvideo24.ru)
    Очков активности: 28.5 2 темы, 13 сообщений, 1 балл репутации

  • Фотография ShowPrint
    #10

    ShowPrint (ShowPrint.ru)
    Очков активности: 27 Вне конкурса за определение пользователя месяца

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 25.12.2018
  • Яндекс выдача: 20.01.2019
Топ 5 участников по репутации


Как поменять шапку

#1 objectfine

objectfine
  • Неактивные
  • 6 сообщений
  • Репутация: 0
0

Отправлено 14 March 2013 - 21:16

Подскажите кто знает, в wordpress есть тема.... на ней сделал сайт..надо чтобы в шапке постоянно менялась картинка - при переходе на другую страницу..как это сделать?
Вот код header.php

<?php
/**
* The Header for our theme.
*
* Displays all of the <head> section and everything up till <div id="main">
*
* @package landscape
* @since landscape 1.0
*/
?><!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" conlandscapet="width=device-width" />
<title>Отделочные работы, Сантехника, Утепление, Гидроизоляция, Сварочные работы, Трубопровод, Квартира под ключ</title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
<?php wp_head(); ?>
</head>
<div id="page" class="hfeed site">
<?php do_action( 'before' ); ?>
<header id="masthead" class="site-header" role="banner">
  <nav role="navigation" class="site-navigation main-navigation">
   <h1 class="assistive-text"><?php _e( 'Menu', 'landscape' ); ?></h1>
   <div class="assistive-text skip-link"><a href="#conlandscapet" title="<?php esc_attr_e( 'Skip to conlandscapet', 'landscape' ); ?>"><?php _e( 'Skip to conlandscapet', 'landscape' ); ?></a></div>
<body <?php body_class(); ?>>
   <?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
  </nav><!-- .site-navigation .main-navigation -->
  <hgroup>
   <h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
   <h2 class="site-description"><?php bloginfo( 'description' ); ?></h2>
  </hgroup>
</header><!-- #masthead .site-header -->
<div id="main" class="site-main">

 

 

  • 0

#2 yury

yury
  • Пользователь
  • 645 сообщений
  • Репутация: 190

Отправлено 15 March 2013 - 05:35

надо чтобы в шапке постоянно менялась картинка - при переходе на другую страницу..как это сделать?

Это несколько не тот раздел форума, вам, наверное, надо в раздел CMS или PHP.
Попробуем ответить с точки зрения раздела PHP.

Решение зависит от того,
* где описана у вас картинка из шапки и
* по какому принципу вы хотите ее менять (случайно из заданного набора; к каждой странице своя определенная картинка; утром — один набор картинок, вечером — другой или еще как-то).

Чтобы понять, где описана картинка из шапки, покажите файл стилей (css).
(Скорее всего, нужно описание для идентификатора #masthead и/или класса .site-header)

Предположим, что картинка в шапке описывается фоновым изображением для идентификатора #masthead, а меняться картинка должна случайным образом из заданного набора из 10 картинок: 1.jpg, 2.jpg, ... 10.jpg
В таком случае можно изменение изображения в шапке можно реализовать, примерно, так:
в конце блока head (непосредственно перед закрывающим тегом </head>) помещаем код
<style type="text/css">
#masthead{
  background: url(path_to_images/<?php echo mt_rand(1,10); ?>.jpg) !important;
}
</style>
строку "path_to_images/" заменить на путь к папке с картинками 1.jpg, 2.jpg, ... 10.jpg
  • 0

#3 objectfine

objectfine
    Topic Starter
  • Неактивные
  • 6 сообщений
  • Репутация: 0

Отправлено 15 March 2013 - 11:41

Вот еще раз. Это header

Спойлер



ОЧЕНБ надо ..прошу помощи!
  • 0

#4 yury

yury
  • Пользователь
  • 645 сообщений
  • Репутация: 190

Отправлено 15 March 2013 - 13:03

Хм. Это уже какой-то другой сайт?

Впрочем, неважно. Код будет, примерно, тот же. И помещать его туда же (прямо перед закрывающим тегом </head>).

Только у вас в шапке по причине, о которой можно только догадываться, используются сразу два изображения: 'images/header.png' и 'images/header.jpg'
Потому можно заменять их оба (по-прежнему предполагаем, что нам нужно менять картинки случайным образом, что таких картинок по 10шт., называются они 1.png, ... 10.png и 1.jpg, ... 10.jpg и находятся они в папке images):
<?php $image_name = 'images/' . mt_rand(1,10); ?>
<style type="text/css">
.art-header:before{
  background-image: url(<?php echo $image_name, '.png'; ?>);
}
.art-header:after{
  background-image: url(<?php echo $image_name, '.jpg'; ?>);
}
</style>

  • 0

#5 objectfine

objectfine
    Topic Starter
  • Неактивные
  • 6 сообщений
  • Репутация: 0

Отправлено 15 March 2013 - 16:22

Что -то не получается с этим кодом......выходит так....сзади картинка ,а впереди желтый квадрат перекрывает картинку. и всё
  • 0

#6 yury

yury
  • Пользователь
  • 645 сообщений
  • Репутация: 190

Отправлено 15 March 2013 - 17:08

Ну не знаю. Сходу ничего желтого в вашем коде не замечается.

На всякий случай посмотрите и проверьте.
* Что у вас в картинках 'images/header.png' и 'images/header.jpg'?
* Создали ли вы картинки 1.png-10.png и 1.jpg-10.jpg? Положили ли их в правильное место?

Скорей всего до понедельника больше не смогу на форум заходить, так что может еще кто вам что подскажет.
  • 0

#7 objectfine

objectfine
    Topic Starter
  • Неактивные
  • 6 сообщений
  • Репутация: 0

Отправлено 15 March 2013 - 17:25

Спасибо, что откликнулись. Буду ждать еще вариантов, с вашим еще вариантом помучаюсь...может что и получится

Этот желтый квадрат находится в файле header.png
  • 0

#8 Kirinka

Kirinka
  • Неактивные
  • 57 сообщений
  • Репутация: 12

Отправлено 15 March 2013 - 20:54

ссылку на сайт можете дать, а то трудно представить, что у вас происходит или хотя бы размеры header.png и header.jpg
  • 0

#9 objectfine

objectfine
    Topic Starter
  • Неактивные
  • 6 сообщений
  • Репутация: 0

Отправлено 16 March 2013 - 09:27

http://objectuq.bget.ru/
  • 0

#10 Kirinka

Kirinka
  • Неактивные
  • 57 сообщений
  • Репутация: 12

Отправлено 17 March 2013 - 01:01

предложенный выше вариант работает. Единственное что, нужно объединить две картинки header.png и header.jpg в одну и удалить .art-header:after из css, а .art-header:before изменить на .art-header, то есть в результате у вас должно быть так:
.art-header
{
position: absolute;
display:block;
content:' ';
top: 0;
width:100%;
height: 312px;
background-image: url('header.jpg');
background-repeat: no-repeat;
background-position:top center;
}
Еще раз по порядку:
1) создайте в папке images отдельную папку для фонов(например:background), там должны лежать картинки с расширением .jpg и названием от 1 до 10: 1.jpg, 2.jpg и т.д.
2) в индексном файле между тегами <head></head> прописываете следующий код:
<style type="text/css">
.art-header
{
  background:url(путь_ к_ файлам/<?php echo mt_rand(1,10); ?>.jpg) !important;
}
</style>
, где путь_к_файлам будет выглядеть след.образом: images/background
  • 0

#11 yury

yury
  • Пользователь
  • 645 сообщений
  • Репутация: 190

Отправлено 18 March 2013 - 08:21

Примерно так должно работать:
<?php
$image_number = mt_rand(1,10);
if ($image_number == 1){
	$image_number = 'header';
	$image_before = 'url(/wp-content/themes/saburov11/images/header.png)';
} else $image_before = 'none';
$image_after = 'url(/wp-content/themes/saburov11/images/' . $image_number . '.jpg)';
?>
<style type="text/css">
.art-header:before{
  background-image: <?php echo $image_before; ?>;
}
.art-header:after{
  background-image: <?php echo $image_after; ?>;
}
</style>
Алгоритм: если выпадает случайное число 1, то показываем в .art-header:before - header.png, а в .art-header:after - header.jpg. Если выпадает другая циферка от 2 до 10, то в .art-header:before - убираем фон, а в .art-header:after - в фон кладем 2-10.jpg.

Примечание:
По-прежнему не понимаю для чего нужен header.png с желтым прямоугольником в .art-header:before. Может оно как-то помогает облакам из флешки там летать? Ну раз уж его туда задвинули — пусть живет. B)
  • 1

#12 objectfine

objectfine
    Topic Starter
  • Неактивные
  • 6 сообщений
  • Репутация: 0

Отправлено 18 March 2013 - 09:02

Есть, слава богу )))) Спасибо громное Юрий. Именно этот код работает! Огромное спасибо вам!!!

А как можно сделать так,чтобы определенная картинка в шапке открывалась на определенной странице?
  • 0

#13 yury

yury
  • Пользователь
  • 645 сообщений
  • Репутация: 190

Отправлено 22 March 2013 - 13:26

А как можно сделать так,чтобы определенная картинка в шапке открывалась на определенной странице?

Можно. Например, вместо случайных картинок, массив соответствий сделать: страница — номер картинки.
У вас вроде по параметру page_id страницы различаются:
page_id = 28 — О компании
page_id = 30 — Услуги
page_id = 32 — Цены
и т.д.
Вот и создайте массив page_id - № фоновой картинки:
<?php
$array_bg = array(
  28 => 2,
  30 => 3,
  32 => 4,
  431 => 5,
  456 => 5,
  354 => 6
);
if (array_key_exists('page_id',$_GET)) {
  $key = $_GET['page_id'];
  if (array_key_exists($key, $array_bg)) {
	$image_number = $array_bg[$key];
  } else $image_number = 'header';
} else $image_number = 'header';
$image_before = ($image_number == 'header') ? 'url(/wp-content/themes/saburov11/images/header.png)' : 'none';
$image_after = 'url(/wp-content/themes/saburov11/images/' . $image_number . '.jpg)';
?>
<style type="text/css">
.art-header:before{
  background-image: <?php echo $image_before; ?>;
}
.art-header:after{
  background-image: <?php echo $image_after; ?>;
}
</style>
Алгоритм:
* проверяем, передан ли через адресную строку параметр page_id. Если нет, то рисуем фоновую картинку header.jpg. Если да, то
* проверяем, есть ли переданный параметр в нашем массиве соответствий ($array_bg). Если нет, то, все равно, рисуем фоновую картинку header.jpg. Если да, то рисуем фоновую картинку с номером, соответствующем данному значению параметра (согласно массиву $array_bg).
  • 0

robot

robot
  • Пользователь PRO
  • 2652 сообщений
  • Репутация: 85


Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru