Creating "Add Poll" in a page
-
Hi,
I am trying to take the form processing & forms from the file polls-add.php and put them in a template page so I can get members to add their own poll directly from a Page (and not at the wordpress back-end). Seems the form is processed but it keeps giving message: Poll Must have Question.Any suggestions?
All I really want is to be able to get users to create poll from the front end. Any other ways to do it?Thanks
-
opps solved by fixing the form action.
Hello af3,
I’m trying to achieve the same thing. I’ve added the poll onto the front end but when i tried to click ‘add poll’. It says you do not have sufficient permission.
Would you mind teaching me how you implement the code?
Thanks!
Actually its fine. managed to get it working ??
HI
I also want to add poll from front end.
can you please tell me how can add poll from front end.
Please give me code it if possible.Thanks
Hi
as usual to forums in general, this post does not answer the question.How do i add the poll to my main page. and neither does the link, is there a step by step methodology. Please help someoneThis is what I did:
1. Create a page template add-poll.php with the following content<?php /** * Template Name: Add Poll * * @package WordPress * @subpackage WP Poll */ get_header(); ?> <script type='text/javascript' src='https://my.domain.com/wp-content/plugins/wp-polls/polls-admin-js.js?ver=2.63'></script> <div id="content" class="two_column"> <div class="padder"> <?php do_action( 'bp_before_blog_page' ) ?> <div class="page" id="blog-page" role="main"> <?php ### Check Whether User Can Manage Polls if(!current_user_can('manage_polls')) { die('Access Denied'); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { ### Form Processing // initialize a variable to // put any errors we encounter into an array $errors = array(); // check to see if a question was entered // check to see if answer was entered if ((!$_POST['pollq_question']) || (!$_POST['polla_answers'])) { // if not, add that error to our array echo "<font color=red><strong>ERROR:</strong></font> Poll must have a question and answer selections!\n"; } else { switch($_POST['do']) { // Add Poll case __('Create Poll', 'wp-polls'): check_admin_referer('wp-polls_add-poll'); // Poll Question $pollq_question = addslashes(trim($_POST['pollq_question'])); // Poll Start Date $timestamp_sql = ''; $pollq_timestamp_day = intval($_POST['pollq_timestamp_day']); $pollq_timestamp_month = intval($_POST['pollq_timestamp_month']); $pollq_timestamp_year = intval($_POST['pollq_timestamp_year']); $pollq_timestamp_hour = intval($_POST['pollq_timestamp_hour']); $pollq_timestamp_minute = intval($_POST['pollq_timestamp_minute']); $pollq_timestamp_second = intval($_POST['pollq_timestamp_second']); $pollq_timestamp = gmmktime($pollq_timestamp_hour, $pollq_timestamp_minute, $pollq_timestamp_second, $pollq_timestamp_month, $pollq_timestamp_day, $pollq_timestamp_year); if($pollq_timestamp > current_time('timestamp')) { $pollq_active = -1; } else { $pollq_active = 1; } // Poll End Date $pollq_expiry_no = intval($_POST['pollq_expiry_no']); if($pollq_expiry_no == 1) { $pollq_expiry = ''; } else { $pollq_expiry_day = intval($_POST['pollq_expiry_day']); $pollq_expiry_month = intval($_POST['pollq_expiry_month']); $pollq_expiry_year = intval($_POST['pollq_expiry_year']); $pollq_expiry_hour = intval($_POST['pollq_expiry_hour']); $pollq_expiry_minute = intval($_POST['pollq_expiry_minute']); $pollq_expiry_second = intval($_POST['pollq_expiry_second']); $pollq_expiry = gmmktime($pollq_expiry_hour, $pollq_expiry_minute, $pollq_expiry_second, $pollq_expiry_month, $pollq_expiry_day, $pollq_expiry_year); if($pollq_expiry <= current_time('timestamp')) { $pollq_active = 0; } } // Mutilple Poll $pollq_multiple_yes = intval($_POST['pollq_multiple_yes']); $pollq_multiple = 0; if($pollq_multiple_yes == 1) { $pollq_multiple = intval($_POST['pollq_multiple']); } else { $pollq_multiple = 0; } // Insert Poll $add_poll_question = $wpdb->query("INSERT INTO $wpdb->pollsq VALUES (0, '$pollq_question', '$pollq_timestamp', 0, $pollq_active, '$pollq_expiry', $pollq_multiple, 0)"); if(!$add_poll_question) { $text .= '<p style="color: red;">'.sprintf(__('Database Error In Adding Poll \'%s\'.', 'wp-polls'), stripslashes($pollq_question)).'</p>'; } // Add Poll Answers $polla_answers = $_POST['polla_answers']; $polla_qid = intval($wpdb->insert_id); foreach($polla_answers as $polla_answer) { $polla_answer = addslashes(trim($polla_answer)); $add_poll_answers = $wpdb->query("INSERT INTO $wpdb->pollsa VALUES (0, $polla_qid, '$polla_answer', 0)"); if(!$add_poll_answers) { $text .= '<p style="color: red;">'.sprintf(__('Database Error In Adding Poll\'s Answer \'%s\'.', 'wp-polls'), stripslashes($polla_answer)).'</p>'; } } // Update Lastest Poll ID To Poll Options $latest_pollid = polls_latest_id(); $update_latestpoll = update_option('poll_latestpoll', $latest_pollid); if(empty($text)) { $text = '<p style="color: green;">'.sprintf(__('Poll \'%s\' (ID: %s) Added Successfully.', 'wp-polls'), stripslashes($pollq_question), $latest_pollid).' <a href="https://my.domain.com/wp-admin/admin.php?page=wp-polls/polls-manager.php">Manage Polls</a></p>'; } cron_polls_place(); break; } ### End Form Processing } } ### Add Poll Form $poll_noquestion = 4; $count = 0; ?> <?php if(!empty($text)) { echo '<!-- Last Action --><div id="message" class="updated fade">'.stripslashes($text).'</div>'; } ?> <form method="POST" action="https://my.domain.com.com/polls/add-poll/"> <div class="wrap"> <h1 style="font-size: 30px;font-weight: 300;line-height: 1.2;">Create a New Poll</h1> <p> </p> <p> </p> <!-- Poll Question --> <h2>Poll Question</h2> <table class="form-table" width="100%"> <tr> <th width="20%" scope="row" valign="top">Question </th> <td width="80%"> <input type="text" size="70" name="pollq_question" value="" /></td> </tr> </table> <p> </p> <!-- Poll Answers --> <h2>Poll Answers</h2> <table class="form-table" width="100%"> <tfoot> <tr> <td width="20%"> </td> <td width="80%"> <input type="button" value="Add Answer" onclick="add_poll_answer_add();" class="button" /></td> </tr> </tfoot> <tbody id="poll_answers"> <?php for($i = 1; $i <= $poll_noquestion; $i++) { echo "<tr id=\"poll-answer-$i\">\n"; echo "<th width=\"20%\" scope=\"row\" valign=\"top\">".sprintf(__('Answer %s', 'wp-polls'), number_format_i18n($i))."</th>\n"; echo "<td width=\"80%\"><input type=\"text\" size=\"50\" maxlength=\"200\" name=\"polla_answers[]\" /> <input type=\"button\" value=\"".__('Remove', 'wp-polls')."\" onclick=\"remove_poll_answer_add(".$i.");\" class=\"button\" /></td>\n"; echo "</tr>\n"; $count++; } ?> </tbody> </table> <p> </p> <!-- Poll Multiple Answers --> <h2>Poll Multiple Answers</h2> <table class="form-table" width="100%"> <tr> <th width="40%" scope="row" valign="top">Allow employees to select more than one answers ? </th> <td width="60%"> <select name="pollq_multiple_yes" id="pollq_multiple_yes" size="1" onchange="check_pollq_multiple();"> <option value="0"> No </option> <option value="1"> Yes </option> </select> </td> </tr> <tr> <th width="40%" scope="row" valign="top"> <?php _e('Maximum Number Of Selected Answers Allowed?', 'wp-polls') ?> </th> <td width="60%"> <select name="pollq_multiple" id="pollq_multiple" size="1" disabled="disabled"> <?php for($i = 1; $i <= $poll_noquestion; $i++) { echo "<option value=\"$i\">".number_format_i18n($i)."</option>\n"; } ?> </select> </td> </tr> </table> <p> </p> <!-- Poll Start/End Date --> <h2>Poll Start/End Date</h2> <table class="form-table" width="100%"> <tr> <th width="20%" scope="row" valign="top">Start Date/Time </th> <td width="80%"> <?php poll_timestamp(current_time('timestamp')); ?></td> </tr> <tr> <th width="20%" scope="row" valign="top">End Date/Time </th> <td width="80%"> <input type="checkbox" name="pollq_expiry_no" id="pollq_expiry_no" value="1" checked="checked" onclick="check_pollexpiry();" /> <label for="pollq_expiry_no">No Expiry for this poll </label> <?php poll_timestamp(current_time('timestamp'), 'pollq_expiry', 'none'); ?></td> </tr> </table> <p style="text-align: center;"> <input type="submit" name="do" value="Create Poll" class="button-primary" /> <input type="button" name="cancel" value="Cancel" class="button" onclick="javascript:history.go(-1)" /> </p> </div> <?php wp_nonce_field('wp-polls_add-poll'); ?> </form> </div> <!-- .page --> <?php do_action( 'bp_after_blog_page' ) ?> </div> <!-- .padder --> </div> <!-- #content --> <script type='text/javascript'> /* <![CDATA[ */ var pollsAdminL10n = {"admin_ajax_url":"http:\/\/mydomain.com\/wp-admin\/admin-ajax.php","text_direction":"right","text_delete_poll":"Delete Poll","text_no_poll_logs":"No poll logs available.","text_delete_all_logs":"Delete All Logs","text_checkbox_delete_all_logs":"Please check the \\'Yes\\' checkbox if you want to delete all logs.","text_delete_poll_logs":"Delete Logs For This Poll Only","text_checkbox_delete_poll_logs":"Please check the \\'Yes\\' checkbox if you want to delete all logs for this poll ONLY.","text_delete_poll_ans":"Delete Poll Answer","text_open_poll":"Open Poll","text_close_poll":"Close Poll","text_answer":"Answer","text_remove_poll_answer":"Remove"}; /* ]]> */ </script> <?php locate_template( array( 'sidebar-default.php' ), true ) ?> <?php get_footer(); ?>
2. Change domain.com in the template to yours
3. Put in your theme folder or child-theme folder
4. In WordPress, create a blank page with the template ‘Add Poll’
5. If you go to https://yourdomain.com/add-poll/ you should then can add poll alreadyI am not a coder — so cant help much if that doesnt work for you. I hope others can help too.
- The topic ‘Creating "Add Poll" in a page’ is closed to new replies.