Сайт о WordPress: плагины, функции, хаки, статьи...
WordPress как на ладони
Ответьте на вопросы
    все вопросы →
  • МУЗ.ФЕСТИВАЛЬ

    ГДЕ ПРОЙДЕТ ФЕСТИВАЛЬ " MOTHERLAND CHRISTMAS " ?

    Ответить →
  • Профиль пользователя

    Как можно расширить профиль пользователя?

    Например: Мне нужно сделать чтобы пользователь мог зарегистрировать свою организацию. Есть поля "Полное наименование организации", "ИНН организации", "Телефоны". Эти данные нужно в дальнейшем выводить списком на странице, поэтому вариант с *_user_meta не правильный.

    P.S. Большое спасибо за Ваш ресурс, очень помогает разбираться в WP!

    Ответить →
  • В форме обратной связи указывать телефон вместо емейл

    Добрый день! Помогите пожалуйста.

    У меня в форме обратной связи 3 поля: имя, емейл, сообщение. Я хочу чтобы вместо емейла посетители сайта указывали телефон. Сначала форма не принимала цифры в поле емейл (говорила invalid email), тогда я в этом месте:

    if ( ! is_email( $_POST['et_pb_contact_email'] ) ) {
    $et_error_message .= sprintf( '
    
    %1$s
    
    ', esc_html__( 'Invalid Email.', 'Divi' ) );
    $et_contact_error = false;
    }

    заменил True на false. Письмо уходит, но на почту оно мне приходит без данных из этого поля (без цифр телефона). Что сделать чтоб данные из этого поля приходили?

    Ниже привожу весь код формы.
    Буду очень признателен, если сможете помочь мне решить эту задачу.

    add_shortcode( 'et_pb_contact_form', 'et_pb_contact_form' );
    function et_pb_contact_form( $atts, $content = null ) {
    	global $et_pb_contact_form_num;
    
    	extract( shortcode_atts( array(
    			'module_id' => '',
    			'module_class' => '',
    			'captcha' => 'on',
    			'email' => '',
    			'title' => '',
    		), $atts
    	) );
    
    	$et_error_message = '';
    	$et_contact_error = false;
    
    	if ( isset( $_POST['et_pb_contactform_submit'] ) ) {
    		if ( 'on' === $captcha && ( ! isset( $_POST['et_pb_contact_captcha'] ) || empty( $_POST['et_pb_contact_captcha'] ) ) ) {
    			$et_error_message .= sprintf( '<p>%1$s</p>', esc_html__( 'Make sure you entered the captcha.', 'Divi' ) );
    			$et_contact_error = true;
    		} else if ( 'on' === $captcha && ( $_POST['et_pb_contact_captcha'] <> ( $_SESSION['et_pb_first_digit'] + $_SESSION['et_pb_second_digit'] ) ) ) {
    			$et_error_message .= sprintf( '<p>%1$s</p>', esc_html__( 'You entered the wrong number in captcha.', 'Divi' ) );
    
    			unset( $_SESSION['et_pb_first_digit'] );
    			unset( $_SESSION['et_pb_second_digit'] );
    
    			$et_contact_error = true;
    		} else if ( empty( $_POST['et_pb_contact_name'] ) || empty( $_POST['et_pb_contact_email'] ) || empty( $_POST['et_pb_contact_message'] ) ) {
    			$et_error_message .= sprintf( '<p>%1$s</p>', esc_html__( 'Make sure you fill all fields.', 'Divi' ) );
    			$et_contact_error = true;
    		}
    
    		if ( ! is_email( $_POST['et_pb_contact_email'] ) ) {
    			$et_error_message .= sprintf( '<p>%1$s</p>', esc_html__( 'Invalid Email.', 'Divi' ) );
    			$et_contact_error = false;
    		}
    	} else {
    		$et_contact_error = true;
    		if ( isset( $_SESSION['et_pb_first_digit'] ) )
    			unset( $_SESSION['et_pb_first_digit'] );
    		if ( isset( $_SESSION['et_pb_second_digit'] ) )
    			unset( $_SESSION['et_pb_second_digit'] );
    	}
    
    	if ( ! isset( $_SESSION['et_pb_first_digit'] ) )
    		$_SESSION['et_pb_first_digit'] = $et_pb_first_digit = rand(1, 15);
    	else
    		$et_pb_first_digit = $_SESSION['et_pb_first_digit'];
    
    	if ( ! isset( $_SESSION['et_pb_second_digit'] ) )
    		$_SESSION['et_pb_second_digit'] = $et_pb_second_digit = rand(1, 15);
    	else
    		$et_pb_second_digit = $_SESSION['et_pb_second_digit'];
    
    	if ( ! $et_contact_error && isset( $_POST['_wpnonce-et-pb-contact-form-submitted'] ) && wp_verify_nonce( $_POST['_wpnonce-et-pb-contact-form-submitted'], 'et-pb-contact-form-submit' ) ) {
    		$et_email_to = '' !== $email
    			? $email
    			: get_site_option( 'admin_email' );
    
    		$et_site_name = get_option( 'blogname' );
    
    		$contact_name 	= stripslashes( sanitize_text_field( $_POST['et_pb_contact_name'] ) );
    		$contact_email 	= sanitize_email( $_POST['et_pb_contact_email'] );
    
    		$headers  = 'From: ' . $contact_name . ' <' . $contact_email . '>' . "\r\n";
    		$headers .= 'Reply-To: ' . $contact_name . ' <' . $contact_email . '>';
    
    		wp_mail( apply_filters( 'et_contact_page_email_to', $et_email_to ),
    			sprintf( __( 'New Message From %1$s%2$s', 'Divi' ),
    				sanitize_text_field( $et_site_name ),
    				( '' !== $title ? sprintf( _x( ' - %s', 'contact form title separator', 'Divi' ), sanitize_text_field( $title ) ) : '' )
    			), stripslashes( wp_strip_all_tags( $_POST['et_pb_contact_message'] ) ), apply_filters( 'et_contact_page_headers', $headers, $contact_name, $contact_email ) );
    
    		$et_error_message = sprintf( '<p>%1$s</p>', esc_html__( 'Ваша заявка отправлена!', 'Divi' ) );
    	}
    
    	$form = '';
    
    	$name_label = __( 'Название улицы и адрес ', 'Divi' );
    	$email_label = __( 'Номер телефона', 'Divi' );
    	$message_label = __( 'Расскажите что и когда нужно сделать. Укажите площадь. ', 'Divi' );
    
    	$et_pb_contact_form_num = ! isset( $et_pb_contact_form_num ) ? 1 : $et_pb_contact_form_num++;
    
    	$et_pb_captcha = sprintf( '
    		<div class="et_pb_contact_right">
    			<p class="clearfix">
    				%1$s = <input type="text" size="2" class="input et_pb_contact_captcha" value="" name="et_pb_contact_captcha">
    			</p>
    		</div> <!-- .et_pb_contact_right -->',
    		sprintf( '%1$s + %2$s', esc_html( $et_pb_first_digit ), esc_html( $et_pb_second_digit ) )
    	);
    
    	if ( $et_contact_error )
    		$form = sprintf( '
    			<div class="et_pb_contact">
    				<div class="et-pb-contact-message">%11$s</div>
    
    				<form class="et_pb_contact_form clearfix" method="post" action="%1$s">
    					<div class="et_pb_contact_left">
    						<p class="clearfix">
    							<label class="et_pb_contact_form_label">%2$s</label>
    							<input type="text" class="input et_pb_contact_name" value="%3$s" name="et_pb_contact_name">
    						</p>
    						<p class="clearfix">
    							<label class="et_pb_contact_form_label">%4$s</label>
    							<input type="text" class="input et_pb_contact_email" value="%5$s" name="et_pb_contact_email">
    						</p>
    					</div> <!-- .et_pb_contact_left -->
    
    					<div class="clear"></div>
    					<p class="clearfix">
    						<label class="et_pb_contact_form_label">%7$s</label>
    						<textarea name="et_pb_contact_message" class="et_pb_contact_message input">%8$s</textarea>
    					</p>
    
    					<input type="hidden" value="et_contact_proccess" name="et_pb_contactform_submit">
    
    					<input type="submit" value="%9$s" class="et_pb_contact_submit">
    
    					%6$s
    
    					%10$s
    				</form>
    			</div> <!-- .et_pb_contact -->',
    			esc_url( get_permalink( get_the_ID() ) ),
    			$name_label,
    			( isset( $_POST['et_pb_contact_name'] ) ? esc_attr( $_POST['et_pb_contact_name'] ) : $name_label ),
    			$email_label,
    			( isset( $_POST['et_pb_contact_email'] ) ? esc_attr( $_POST['et_pb_contact_email'] ) : $email_label ),
    			(  'on' === $captcha ? $et_pb_captcha : '' ),
    			$message_label,
    			( isset( $_POST['et_pb_contact_message'] ) ? esc_attr( $_POST['et_pb_contact_message'] ) : $message_label ),
    			__( 'Записаться', 'Divi' ),
    			wp_nonce_field( 'et-pb-contact-form-submit', '_wpnonce-et-pb-contact-form-submitted', true, false ),
    			$et_error_message
    		);
    
    	$output = sprintf( '
    		<div id="%4$s" class="et_pb_contact_form_container clearfix%5$s">
    			%1$s
    			%2$s
    			%3$s
    		</div> <!-- .et_pb_contact_form_container -->
    		',
    		( '' !== $title ? sprintf( '<h1 class="et_pb_contact_main_title">%1$s</h1>', esc_html( $title ) ) : '' ),
    		( '' !== $et_error_message ? sprintf( '<div class="et-pb-contact-message">%1$s</div>', $et_error_message ) : '' ),
    		$form,
    		( '' !== $module_id
    			? esc_attr( $module_id )
    			: esc_attr( 'et_pb_contact_form_' . $et_pb_contact_form_num )
    		),
    		( '' !== $module_class ? sprintf( ' %1$s', esc_attr( $module_class ) ) : '' )
    	);
    
    	return $output;
    }
    Ответить →
  • Карточка товара, фото товара и миниатюры

    Доброу утро, не скажу что новичек, но гуглить уже порядком надоело. Задача: на странице (карточка) товара под ФОТО товара вывести миниатюры фото из галереи.

    Стандартное решение вукомерца, не удовлетворяет : при выводе миниатюр, из галереи, "Включить лайтбокс" просто выпихивает в блок фотки. (в низу топика ссылка на мою карточку товара, я вывел для примера)

    Понимаю, что надо отключить этот скрипт Вуу "Лайтбокс" удалить код, и взять нормальный слайдер типа nextgen.

    1) в какой файл мне вносить правки, single-product или content-single-product.php 2) возможно есть готовая вставка на php ? 3) где найти пример пхп на вставку от некстген 4) в АДМИНКЕ при создании товара, как добавить в правую колонку некстген галерею как функционал, ведь для создания галереи для конкретного товара, необходимо выводить определенные фото из общей библиотеки, сейчас использую стандартный функционал.

    примитив что я сделал

    В текстовом блоке, полное описание товара вставил шорткод некстгена который доступен после установки плагина, залил еще раз фото, создал галереию, выбрал галерею и вуаля работает. А есть необходимость, вставить СЛАЙДЕР миниатюр или даже возможно и ВЕРХНЮЮ фото вообще заменить, заменить ВЕСЬ кусок галереи вукомерца на некстген или аналог ?

    Прошу старожил дать понимание.

    http://troica.com.ua/shop/podarki-i-podarochnye-nabory/podarok-novogodnij моя карточка товара, где вы видите 1 картинку и сразу ПОД ФОТО - это ЛАЙТ БОКС, а ниже то что я хочу туда впихнуть, что почитать какие примеры что бы добить этот кусок?

    Ответить →
  • Помогите разобраться, пожалуйста

    Есть рубрики: Новости, Мода и т.д. В этих рубриках есть статьи и топы.
    Рубрики выводятся циклом одна за одной. Как мне привязать Свежие материалы и топы статей к каждой конкретной рубрике?
    Сейчас выводится один и тот же набор топов в каждой рубрике. А нужно, чтобы в Моде были свои топы, в Красоте свои и так далее.

    Скрин тут

    Спасибо всем, кто откликнется

    Ответить →
  • Нужна платная доработка

    Здравствуйте! Вы занимаетесь платными доработками сайтов на WP? Мне необходимо найти и устранить причину по которой не выводится Водяной знак (watermark). Пример кода скрипта: http://disseo.ru/optimizaciya/kak-sdelat-vodyanoj-znak-na-izobrazhenii-v-wordpress-bez-plaginov.html

    Скрипту много лет) , но на новом шаблоне отказывается работать. Возьметесь?

    Ответить →
  • Отображение постов определенной категории на определенной странице

    В свойствах каждой записи есть окно--> рубрики, где назначаются рубрики для конкретной записи. Как добавить такое окно в свойства страницы, что-бы страница(шаблон страницы) отображал записи конкретной рубрики?

    Ответить →
  • как в WORDPRESS сделать, чтобы записи публиковались в разных пунктах меню ?

    например пункт меню NEWS - одни записи, Пункт меню TOUR - другие записи.

    Важно чтобы эти странички были каждая со своим оформлением. Так что здесь 2 вопроса.

    Ответить →
Вопросы в комментариях
  • Саша: Добрый. Помогите написать код для...

    Добрый. Помогите написать код для get_users и exclude. Не знаю программирования. Интуитивно понимаю, что куда потом нужно вставить.)

    Ответить →
  • Andy: Как можно сделать так чтобы по...

    Как можно сделать так чтобы по клику на добавленную кнопку в панели комментариев в форме для сообщения выводилось например Здравствуете "имя пользователя". Что бы каждый раз не писать вручную приветствия пользователя, при ответе на очередной комментарий. Что то подобное получается если отвечать не через админ-панель а через сайт кликнув на кнопку ответить. Я про wp-admin/edit-comments.php клик по кнопке ответить.

    Ответить →
  • Андрей: Подскажите как убрать тег <br...

    Подскажите как убрать тег

    <br />

    который выводится в посте, выглядит это так:

    <p><span id="more-210"></span><br />

    Возможно есть способ полностью убрать эту ссылку

    <span id="more-210"></span><br />

    Заранее спасибо за помощь

    Ответить →
  • Владимир: Как мне для нового типа убрать...

    Как мне для нового типа убрать кнопку "добавить медиафайл" и убрать визуальный редактор?

    Ответить →
  • Sweeney: У меня вопрос. Есть проблема...

    У меня вопрос. Есть проблема небольшая, мне нудно что бы выводились посты на главной странице 4 или 5 цыклами со всех категорий, но каждый цыкл что бы выводил по 3 поста и что бы записи в цыклах не повторялись. Можете подсказать как такое реализовать?

    Ответить →
  • Андрей: Подскажите, пожалуйста, как...

    Подскажите, пожалуйста, как удалить из RSS-ленты ссылки на комментарии к сообщению. Я имею в виду поля

    <comments>
    post/#comments
    </comments>
    <wfw:commentRss>
    post/feed/
    </wfw:commentRss>
    <slash:comments>#</slash:comments>
    
    Ответить →
  • CanaBeasT: Здравствуйте, Тимур! Вот...

    Здравствуйте, Тимур!
    Вот наконец-то тоже дошли руки сделать свой рейтинг комментаторов. В общем, перелопатил базу коментов (их у меня сейчас чуть больше 25тыс на сайте) и решил в поле comment_karma таблицы с комментариями забить количество одобренных комментариев опираясь чисто на имя и почтовый ящик комментатора. В общем, прошелся по базе скриптом и просчитал это дело, ну и вписал.
    Теперь, хочу, сделать для новых комментариев, чтобы при добавлении сначала бралось имя и ящик комметатора, пересчитывало сколько уже есть комментариев этого автора (по кол. совпадений), если есть и обновляло цифру в поле comment_karma для всех строк. Но хочу это сделать только для одобренных комментариев, чтобы не создавать лишнюю нагрузку. Где искать этот момент, когда комментарий переходит в одобренные (в коде), чтобы в него добавить свой фильтр (подсчет и обновление)?
    Спасибо.

    Ответить →
  • dmelnik: Подскажите, пожалуйста, как...

    Подскажите, пожалуйста, как возможно создать дополнительное поле ввода текста (с редактором) в админке (нужно для записей, но можно для всех страниц). С последующим выводом. Любыми способами, но лучше - без плагинов. Не могу нагуглить ничего.
    Оффтоп: также интересна настройка области вывода с условием, а то не устаивают конструкции типа:

    if ($_SERVER['REQUEST_URI']=='/')

    .

    Ответить →
  • Владимир: Здравствуйте. У меня вопрос. ...

    Здравствуйте. У меня вопрос.
    Заметил, что у меня на сайте этот счетчик считает без реального посещения страниц. Такое впечатление, что он учитывает и пинги. Что-то можно с этим сделать?

    Ответить →

3 способа создать шаблон страницы

В этой статье я расскажу о способах создания шаблонов для постоянных страниц WordPress. Каждый способ несет в себе свои плюсы и минусы. Но прежде чем начать, коротко о том, что такое страницы и чем ...

Taxonomy Metadata: метаданные для таксономий

В Wordpress для таксономий не предусмотрены метаданные. Плагин из этой статьи поправит положение...
Таксономии - это рубрики, метки и другие произвольные коллекторы записей, которые удобно создаются ...

Джино.Спектр - облачный-хостинг для WordPress

Я не любитель выискивать то что подешевле и знаю, что за качество всегда нужно платить. Однако есть случаи, когда качеством можно пренебречь в пользу здравого смысла. О чем это я? Да о том, что у ...

WP_Query и WordPress 4.0: исправления в параметре orderby

В WordPress 4.0 исправлены недочеты связанные с сортировкой результатов запроса WP_Query, когда сортировка идет по нескольким колонкам одновременно.

Сортировка при получении результатов в WP_Query ...

Сжатие стилей, скриптов и html с помощью Autoptimize

Первое что нужно сделать для оптимизации скорости загрузки страницы - это уменьшить количество http запросов. Один из способов сделать это в WordPress - это плагин Autoptimize.

Autoptimize ...

Сохранение позиции скролла визуального редактора при сохранении записи

Не актуально с версии WordPress 4.0.
Маленький, но удобный плагин; который невидим, но делает свое дело; который занимает место в разделе плагинов, но позволяет не бояться нажимать на кнопку ...

WP Media Cleaner: WordPress плагин для удаления неиспользуемых медиафайлов

Рано или поздно придется расплачиваться за небрежность и расточительность. Сейчас я имею ввиду небрежное отношение к порядку в файлах сайта и легкомысленное использование дискового пространства. ...

Перенаправление на случайную запись в WordPress

В этой заметке я покажу, как перенаправлять пользователей на случайную запись в WordPress.

Для некоторых типов сайтов, например развлекательных, где каждая запись может быть интересной и не ...

UpToLike: сервис социальных кнопок и статистики по ним + плагин для WordPress

Наткнулся недавно на сервис социальной статистики UpToLike. О нем и расскажу немного в этой заметке. Это один из немногих сервисов, мимо которого я не смог пройти. Более того, я установил социальные ...

SIM-Networks: профессиональный хостинг в Германии

Приветствуем всех читателей этого сайта!

Разрешите представиться – мы немецкая компания SIM-Networks. Мы занимаемся профессиональным, скалируемым, индивидуально конфигурируемым хостингом.

Чем ...

— сюда
1
234567...10