eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

Democracy Poll: как добавить в результатах текст

Как в плагине при нажатии на — результаты — и при открытии результатов добавить при необходимости описание правильного ответа,то есть текст.

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

Заметки к вопросу:
Kama 8.3 года назад

Не понял что нужно. Вот есть Опрос, есть вопросы, и "лайки" за них. Что значит правильный ответ? Это же опрос, там нет правильных ответов. Я не понял что нужно... В любом случае, по-моему вам нужно будет «допилить» плагин...

adminn 8.3 года назад

Подробно : есть опрос и варианты ответов.Под вариантами ответов - ссылка " результаты ".Так вот при нажатии на " результаты ",появляются варианты ответов и процент проголосовавших.Как после всего этого добавить текст.

Пример :
Опрос : Что вы выберите ?
Варианты ответов :

  1. круг
  2. овал
  3. квадрат

Голосовать - кнопка

результаты - Активная ссылка

При нажатии на "результаты",появятся ответы и процент голосов.Как после всего этого добавить текст.
Пример текста :
Круг.
Вы выбрали круг потому что.............. и тд.
Овал.
Вы выбрали овал потому что......... и тд.
Квадрат.
Вы выбрали овал потому что........ и тд.

Как добавить описание для вариантов ответа.Чтобы оно появлялось после голосования.Выбрал ответ на вопрос и нажал на голосовать,после нажатия открывались варианты ответов с процентным соотношением,и ниже после всех ответов текст с описанием каждого из вариантов

1
Гость
8.3 года назад
  • 0
    Kama 9771

    В общем, добавил штук 5 фильтров в плагин. Обнови его версия 5.2.8. После того как плагин обновишь. Добавь в файл темы functions.php такой код:

    /**
     * Дополнительный текст для ответа на вопрос, который видно только в результатах опроса.
     *
     * v 0.2
     */
    if(1){
    	define('DEMSEP', ' --- '); // разделитель между ответом и доп. текстом в ответе.
    
    	// добавим новое поле в админку, для удобности ввода
    	add_filter('demadmin_after_answer', function($out, $answer){
    		if( ! $answer )
    			return $out;
    
    		$exp = explode( DEMSEP, $answer->answer, 2 );
    		$value = isset($exp[1]) ? $exp[1] : '';
    
    		// textarea удобнее...
    		return  $out .'<textarea class="answ-text" name="dmc_old_answers['. $answer->aid .'][answer_more]"  placeholder="доп данные" tabindex="2">'. esc_textarea($value) .'</textarea>';
    		//return  $out .'<input class="answ-text" type="text" name="dmc_old_answers['. $answer->aid .'][answer_more]" value="'. esc_attr($value) .'" placeholder="доп данные" tabindex="2">';
    	}, 10, 2);
    
    	// вырежем доп. текст из ответа
    	add_filter('demadmin_edit_poll_answer', 'dem_strip_answer_more');
    
    	// объединим поле answer_more с полем answer (самого ответа) dj время запроса, чтобы сохранить данные в БД.
    	// Потом на выходе всегда будет это разделять...
    	add_filter('dem_sanitize_answer_data', function($data){
    		if( empty($data['answer_more']) ) return $data;
    
    		$data['answer'] .= DEMSEP. $data['answer_more'];
    		unset( $data['answer_more'] );
    		return $data;
    	});
    
    	// удалим дом текст при голосовании
    	add_filter('dem_vote_screen_answer', 'dem_strip_answer_more');
    
    	// добавим дом текст в результатах. Поправьте код чтобы отформатировать как надо...
    	add_filter('dem_result_screen_answer', function($answer){
    		$exp = explode(DEMSEP, $answer->answer, 2 );
    
    		if( isset($exp[1]) )
    			$answer->answer = $exp[0] .'<div style="font-size:80%;">'. wpautop($exp[1]) .'</div>';
    
    		return $answer;
    	});
    
    	function dem_strip_answer_more($answer){
    		if( ! $answer || false === strpos($answer->answer, DEMSEP) )
    			return $answer;
    
    		$exp = explode(DEMSEP, $answer->answer, 2 );
    		$answer->answer = $exp[0];
    
    		return $answer;
    	}
    
    }

    В результате у меня получится так:

    Ну, и надо сказать, что может так получиться что в след релизах плагина, код нужно будет немного подправить...

    П.С. Вообще это делается отдельно, и обычно за плату. Но я чет как всегда...

    Алексей 7.5 лет назад

    Добрый день! Подскажите пожалуйста, а как можно в данном плагине закрыть количество проголосовавших только для администраторов? Чтобы другие пользователи (ни гости, ни зарегистрированные не видели данной информации) http://prntscr.com/f3viwv
    Заранее благодарю за ответ!

    Kama 7.5 лет назад

    Через css спрячь и все...

    Комментировать
  • 0

    Спасибо большое буду пробовать,Так можно всяких плюшек по добавлять и отшлифовать, и баксов по 5 продавать плагин.Я думаю народ будет брать !!!!

    За дополнение огромное спасибо,я думаю такая функция не мне одному пригодится!!!

    adminn 8.3 года назад

    А в плагине можно сделать такую функцию чтобы результаты опроса было видно только когда проголосуют? Просто есть один нюанс.

    То есть,есть опрос и варианты ответов.Если поставить галку " Разрешить смотреть результаты опроса ",то в самом опросе после вариантов ответа есть ссылка " Результаты ".Как сделать чтобы результаты опроса появлялись только после голосования.Результаты в любом случае видно,а если убрать галку с " Разрешить смотреть результаты опроса ",то тогда не показывает Доп.поля.

    Просто нужно скрыть " Результаты ", ниже опроса, и после нажатия голосовать,открывались результаты голосования с доп.полями и процентным соотношением

    Kama 8.3 года назад

    Я думаю для этого можно просто через css скрыть кнопку "результаты". Технически будет возможность посмотреть результаты, но только если об этом знать и залезть в код и сделать видимой эту кнопку...

    Делается это так, в настройках дизайна, в доп. стилях добавь такое правило css:

    .dem-results-link{ display:none; }
    Комментировать
  • 0

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

    Kama 8.1 год назад

    В редактирование опроса зайди...

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация