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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


Я тут учусь потихоньку ковырять 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


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

<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


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


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


чтобы по 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


(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


сео пак

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

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


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


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


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


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


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


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


Это замена сео-паку, поэтому и так много. На мой взгляд чем меньше плагинов мы грузим в ВП тем лучше.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПродам базу сайтов Wordpress в 16 миллионов доменов! Свежая сборка.
19 Boymaster 11137 Сегодня, 0:01
автор: Boymaster
Открытая тема (нет новых ответов) Нужен кодер, чтобы пофиксить ошибку Wordpress после переноса сайта
0 Alex-777 864 7.4.2024, 18:05
автор: Alex-777
Открытая тема (нет новых ответов) Перенос сайта на CMS Wordpress
8 freeax 4959 10.3.2024, 14:58
автор: freeax
Открытая тема (нет новых ответов) Как настроить в WordPress для SEO оптимизации
8 rownong27 2475 2.3.2024, 12:59
автор: toplinks
Горячая тема (нет новых ответов) Восстановление сайтов из Вебархива на Wordpress.
39 freeax 32745 14.2.2024, 14:32
автор: freeax


 



RSS Текстовая версия Сейчас: 20.4.2024, 3:07
Дизайн