Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

This is a shortcode to add a question form in the Question and Answer Forum plugin for Wordpress:

[question_form width=\'x\' bordercolor=\'x\' style=\'x\']question form title[/question_form]

This short code calls this:

//allow short codes  [question_form]
function question_form($atts,$content = "")
{
    global $questionformid;
    include "askquestionform.php";
    return $html;
}
add_shortcode('question_form','question_form');

and this is askquestionform.php:

<?php
load_plugin_textdomain( 'qna-forum', false, 'question-and-answer-forum/languages' );
if(get_option('q_loginrequired_ask')=="TRUE" && !is_user_logged_in())
{
    $html = "<p>".__("Please login to ask a question",'qna-forum')."</p>";
    $html .= q_loginform(get_permalink());
    return $html;
}

                                        //STYLING INFORMATION=============
$formstyle = "";
$introstyle = "";
if(isset($atts['width']))
{
    $formstyle .= "width:" . $atts['width'] . ";";
}
if(isset($atts['style']))
{
    $formstyle .= $atts['style'];
}
if(isset($atts['bordercolor']))
{
    $formstyle .= "border: 2px solid " . $atts['bordercolor'] . ";";
    $introstyle .= "background-color:" . $atts['bordercolor'] . ";";
}

if(!isset($_POST['title']) || $_POST['title'] == null)
{
    $qtitle = __("Enter Question Title",'qna-forum');
}
else{
    $qtitle = $_POST['title'];
}
if(!isset($_POST['question']) || $_POST['question'] == null)
{
    $Qtext = __("Enter Your Question Here",'qna-forum');
}
else{
    $Qtext = $_POST['question'];
}

$html = '<form class="questionform" name="questionform-'. $questionformid . '" id="questionform-' . $questionformid. '" style=\'' . $formstyle. '\'>

<div class="question-form-intro" style="' . $introstyle . '">';
if($content != "")
{
    $html = $html . $content;
}
else
{
    $html = $html . __("Use the form below to ask a question",'qna-forum');
}
$html = $html . '</div>';
include_once (ABSPATH . 'wp-content/plugins/question-and-answer-forum/coreform.php');
$html = $html . '</form>';

$questionformid = $questionformid + 1;

I created a template file called, question-form-page.php, I pasted the whole code of askquestionform.php but nothing is displayed (blank).

I also tried placing the following in question-form-page.php:

question_form($atts,$content = "")

and

global $questionformid;
include "askquestionform.php";
return $html;

But I get the same result.

Any suggestions?

share|improve this question

3 Answers 3

up vote 4 down vote accepted

I think you're looking for the do_shortcode() function. It allows you to paste a shortcode directly into a template file.

http://codex.wordpress.org/Function_Reference/do_shortcode

share|improve this answer

As dalton wrote, you are looking for the shortcode function. You can use the shortcode in your php files via this function:

Try to put this lines in your question-form-page.php file:

<? echo do_shortcode('[question_form width=\'x\' bordercolor=\'x\' style=\'x\']question form title[/question_form]'); ?>
share|improve this answer

First test on a normal post whether the shortcode actually works. If it does, use this on your template to run it

<?php echo do_shortcode('[shortcode]'); ?>
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.