function template_redirect() { if (is_qa_page('user')) { wp_redirect($this->_get_url(get_query_var('author')), 301); die; } }
function test_templates() { foreach (array('ask', 'edit', 'single', 'archive', 'tag', 'category') as $type) { if (is_qa_page($type)) { echo "<pre>{$type}: true\n</pre>"; } } }
function handle_subs() { if (!is_qa_page('single')) { return; } if (!is_user_logged_in()) { return; } if (!isset($_GET['_wpnonce']) || !wp_verify_nonce($_GET['_wpnonce'], 'qa_sub')) { return; } // Question authors are automatically subscribed if (get_current_user_id() == get_post_field('post_author', get_queried_object_id())) { return false; } if ($_GET['qa_sub']) { add_post_meta(get_queried_object_id(), '_sub', get_current_user_id()); } else { delete_post_meta(get_queried_object_id(), '_sub', get_current_user_id()); } }
function get_the_answer_form() { global $wp_query, $user_ID, $wp_version, $qa_general_settings; $out = ''; if (is_qa_page('edit')) { $answer = $wp_query->posts[0]; if ($user_ID == 0 && !qa_visitor_can('edit_published_answers', $answer->ID) && !current_user_can('edit_published_answers', $answer->ID)) { return; } } else { if ($user_ID == 0 && !qa_visitor_can('publish_answers') && !current_user_can('publish_answers')) { $out .= '<p>' . __('You are not allowed to add answers!', QA_TEXTDOMAIN) . '</p>'; return; } $answer = (object) array('ID' => '', 'post_parent' => get_the_ID(), 'post_content' => ''); } $out .= '<form id="answer-form" method="post" action="' . qa_get_url('archive') . '">'; $out .= wp_nonce_field('qa_answer', "_wpnonce", true, false); $out .= '<input type="hidden" name="qa_action" value="edit_answer" /> <input type="hidden" name="question_id" value="' . esc_attr($answer->post_parent) . '" /> <input type="hidden" name="answer_id" value="' . esc_attr($answer->ID) . '" />'; $use_editor = true; if (isset($qa_general_settings["disable_editor"]) && $qa_general_settings["disable_editor"]) { $use_editor = false; } if (version_compare($wp_version, "3.3") >= 0 && $use_editor) { $wp_editor_settings = apply_filters('qa_answer_editor_settings', array(), $answer->ID); $out .= '<p>'; ob_start(); wp_editor($answer->post_content, 'answer', $wp_editor_settings); $out .= ob_get_contents(); ob_end_clean(); $out .= '</p>'; } else { $out .= '<p><textarea name="answer" class="wp32">' . esc_textarea($answer->post_content) . '</textarea></p>'; } $out .= get_the_qa_submit_button(); $out .= '</form>'; return $out; }
function body_class($classes) { if (is_qa_page('ask')) { $classes[] = 'ask-question'; } if (is_qa_page('edit')) { $classes[] = 'edit-question'; } if (is_qa_page('unanswered')) { $classes[] = 'unanswered'; } return $classes; }
function the_answer_form() { global $wp_query, $wp_version; if (is_qa_page('edit')) { $answer = $wp_query->posts[0]; if (!current_user_can('edit_post', $answer->ID)) { return; } } elseif (!current_user_can('publish_answers')) { echo _qa_html('p', sprintf(__('Please <a href="%s">login</a> to post questions.', QA_TEXTDOMAIN), wp_login_url(qa_get_url('single', get_queried_object_id())))); return; } else { $answer = (object) array('ID' => '', 'post_parent' => get_the_ID(), 'post_content' => ''); } ?> <form id="answer-form" method="post" action="<?php echo qa_get_url('archive'); ?> "> <?php wp_nonce_field('qa_answer'); ?> <input type="hidden" name="qa_action" value="edit_answer" /> <input type="hidden" name="question_id" value="<?php echo esc_attr($answer->post_parent); ?> " /> <input type="hidden" name="answer_id" value="<?php echo esc_attr($answer->ID); ?> " /> <?php if (version_compare($wp_version, "3.3") >= 0) { ?> <p><?php wp_editor($answer->post_content, 'answer', array('media_buttons' => false)); ?> </p> <?php } else { ?> <p><textarea name="answer" class="wp32"><?php echo esc_textarea($answer->post_content); ?> </textarea></p> <?php } ?> <?php the_qa_submit_button(); ?> </form> <?php }