X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> 3 вопроса по wordpress и php
Fallup
Fallup
Topic Starter сообщение 22.6.2012, 15:43; Ответить: Fallup
Сообщение #1


Добрый пёс
******


Группа: Active User
Сообщений: 2372
Регистрация: 15.12.2009
Из: мамы
Поблагодарили: 1065 раз
Репутация:   119  


Я тут учусь потихоньку ковырять wordpress и php. Есть несколько вопросов.

Первый вопрос о title
По умолчанию в wordpress title выводится через код
<title><?php bloginfo('name'); ?> <?php wp_title(); ?></title>

Он выдает название сайта в начале + добавляет разделитель.
Я вывожу через код только заголовок страницы
<title><?php wp_title(""); ?></title>

Однако на главной title представляет собой домен сайта site.ru, это проблема.
Вопрос: как сделать, чтобы на странице выводился только заголовок, а на главной только название сайта.

Второй вопрос о скрипте начисления рейтинга
У постов есть рейтинг, юзеры голосуют, все вроде бы здорово.
Сам скрипт:
Развернуть/Свернуть
<?php
$file = dirname( __FILE__ );
$file = substr( $file, 0, stripos( $file, "wp-content" ) );

require( $file . '/wp-load.php' );

// settings
$aOptions = ThemeName::initOptions( false );
$cookiespan = ( strlen( $aOptions[ 'cookiespan' ] ) > 0 ) ? intval( $aOptions[ 'cookiespan' ] ) : 0;
if( $cookiespan > 0 ) $cookiespan = time() + 60 * 60 * 24 * $cookiespan;

// userinfo
get_currentuserinfo();
global $wpdb, $user_ID;

// vars
$pid = intval( $_POST[ 'pid' ] ); // post id
$act = stripslashes( strip_tags( $_POST[ 'act' ] ) ); // action: pro or con
$cook_str = $act . '_' . $pid;

if( '' != $user_ID && $pid > 0 && ( $act == 'pro' || $act == 'con' ) && $_COOKIE[ "themename" ][ "$cook_str" ] != 'Y' ) {

// current votes num
$current_votes = $wpdb->get_var( "SELECT no_votes FROM $wpdb->posts WHERE ID = $pid" );

if( $act == 'pro' ) $new_votes = $current_votes + 1;
else if( $act == 'con' ) $new_votes = $current_votes - 1;

// save to db
$q_store_string = "UPDATE $wpdb->posts SET no_votes = '$new_votes' WHERE ID = $pid";
$q_store = $wpdb->query( $wpdb->prepare( $q_store_string ) );

// everything OK?
if( $q_store ) {

// handle cookies
setcookie( "themename[$cook_str]", "Y", $cookiespan, '/' );
echo $new_votes;

}

}
?>


Однако, если нажимать на плюс или минус очень быстро, то можно проголосовать 3 раза, вместо одного допустимого... И эти негодяи этим втихую пользуются.
Я предполагаю, что проблема в том, что скрипт не успевает записать cookies и сразу запретить повторное голосование. Что можно сделать в этой ситуации?


Благодарен за любой совет.

с 3 вопросом разобрался самостоятельно

Сообщение отредактировал Fallup - 22.6.2012, 15:43


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
paranormal
paranormal
сообщение 22.6.2012, 15:49; Ответить: paranormal
Сообщение #2


ПаранормалЪ
******

Группа: Super Moderator
Сообщений: 1068
Регистрация: 27.1.2011
Поблагодарили: 1943 раза
Репутация:   138  


Про тайтл. Думаю как то так:

<title><?php if (is_home () ) { bloginfo('name'); } elseif ( is_category() ) { single_cat_title(); echo ' - '; bloginfo('name'); }
elseif (is_single() ) { single_post_title(); }
elseif (is_page() ) { bloginfo('name'); echo ': '; single_post_title(); }
else { wp_title('',true); } ?></title>


Про голосование ничего не скажу.

Про создание страницы. Попробуйте создать страницу (не запись) и там в режиме html прописать:

<? include("ваш_файл.php"); ?>


Возможно будет ругаться, что файл не найден. Тогда надо прописать более конкретный путь.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Fallup
Fallup
Topic Starter сообщение 22.6.2012, 15:51; Ответить: Fallup
Сообщение #3


Добрый пёс
******


Группа: Active User
Сообщений: 2372
Регистрация: 15.12.2009
Из: мамы
Поблагодарили: 1065 раз
Репутация:   119  


title заработал как надо, спасибо большое.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
prftc
prftc
сообщение 22.6.2012, 16:50; Ответить: prftc
Сообщение #4


Участник
***

Группа: User
Сообщений: 229
Регистрация: 4.5.2012
Из: Moscow
Поблагодарили: 49 раз
Репутация:   7  


чтобы по 100 раз не нажимали кнопку голосования, нужно ставить через JS 1-2секундную задержку обработки клика.
например можно так:
1) клик по кнопке
2) блокировка элемента (чтобы нельзя было нажимать)
3) установка таймера, через какое время вернуть кликабельность кнопке
4) переход к обработчику события нажатия (добавление голоса и пр.)
пока происходит обработка, тикает таймер. как оттикает, включает назад кнопку, чтобы можно было голосовать (отменить голос). 1с вполне должно хватить. попробуйте начать с 300мс

Сообщение отредактировал prftc - 22.6.2012, 16:50


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
saraus
saraus
сообщение 22.6.2012, 17:21; Ответить: saraus
Сообщение #5


Старожил
******

Группа: Active User
Сообщений: 1219
Регистрация: 21.6.2011
Поблагодарили: 418 раз
Репутация:   67  


(paranormal @ 22.6.2012, 14:49) *
Про тайтл. Думаю как то так:

Код
<title><?php if (is_home () ) { bloginfo('name'); } elseif ( is_category() ) { single_cat_title(); echo ' - '; bloginfo('name'); }
elseif (is_single() ) { single_post_title(); }
elseif (is_page() ) { bloginfo('name'); echo ': '; single_post_title(); }
else { wp_title('',true); } ?></title>


Зачем так много)))
Достаточно этого, если стоит сео пак <title><?php wp_title(); ?></title> и все)


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Fallup
Fallup
Topic Starter сообщение 22.6.2012, 17:59; Ответить: Fallup
Сообщение #6


Добрый пёс
******


Группа: Active User
Сообщений: 2372
Регистрация: 15.12.2009
Из: мамы
Поблагодарили: 1065 раз
Репутация:   119  


сео пак

seo pack мусорит в коде + не хочется ставить плагин для решения такой простой задачи.

prftc, спасибо за наводку, вот только умений написать это не хватит у меня )


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
saraus
saraus
сообщение 23.6.2012, 10:47; Ответить: saraus
Сообщение #7


Старожил
******

Группа: Active User
Сообщений: 1219
Регистрация: 21.6.2011
Поблагодарили: 418 раз
Репутация:   67  


(Fallup @ 22.6.2012, 14:43) *
Однако, если нажимать на плюс или минус очень быстро, то можно проголосовать 3 раза, вместо одного допустимого... И эти негодяи этим втихую пользуются.
Я предполагаю, что проблема в том, что скрипт не успевает записать cookies и сразу запретить повторное голосование. Что можно сделать в этой ситуации?


А блокировка по ip не помогает? Что за плагин голосования стоит?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
prftc
prftc
сообщение 23.6.2012, 19:19; Ответить: prftc
Сообщение #8


Участник
***

Группа: User
Сообщений: 229
Регистрация: 4.5.2012
Из: Moscow
Поблагодарили: 49 раз
Репутация:   7  


(Fallup @ 22.6.2012, 17:59) *
prftc, спасибо за наводку, вот только умений написать это не хватит у меня )


ссылка на страничку дайте, попробую накидать код.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
paranormal
paranormal
сообщение 25.6.2012, 14:50; Ответить: paranormal
Сообщение #9


ПаранормалЪ
******

Группа: Super Moderator
Сообщений: 1068
Регистрация: 27.1.2011
Поблагодарили: 1943 раза
Репутация:   138  


(saraus @ 22.6.2012, 16:21) *
Зачем так много)))


Это замена сео-паку, поэтому и так много. На мой взгляд чем меньше плагинов мы грузим в ВП тем лучше.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Адаптивная вёрстка и натяжка на Wordpress, DLE, Joomla и др. Создание мобильных версий.
Хороший код с оптимизацией по скорости. Сайты и лендинги "под ключ
15 Nell 1151 13.12.2017, 23:36
автор: Nell
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 654 13.12.2017, 21:01
автор: vlads
Горячая тема (нет новых ответов) Вёрстка, натяжка на WordPress, Joomla, качественно, доступно
53 WhiteIce 23778 12.12.2017, 19:41
автор: WhiteIce
Горячая тема (нет новых ответов) Разработка сайтов Joomla Wordpress Opencart
Разработка, верстка, оптимизация веб сайтов.
48 WoWeb 7352 12.12.2017, 13:37
автор: serg5777
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3426 12.12.2017, 13:32
автор: qpPeW


 



RSS Текстовая версия Сейчас: 15.12.2017, 20:14
Дизайн