[WordPress] ワードプレスのプラグイン ショート コードが常に上に表示されます。

スポンサーリンク

Question

ワードプレス プラグイン ショート コードが常に上部に表示されます。以下のコード見てください。

<?php
/*
Plugin Name: MyPlugin
Description: Test
Author: Bassem
License: GPL
*/
?>
<?php
function form_creation()
{
global $wpdb;
?>
<form action=” <?php get_permalink(); ?> ” method=”post” id=”myform”>
<table>

<tr>
<td><input type=”text” id=”txtname” name=”txtname” placeholder=”Your Name”/> </td>
</tr>

<tr>
<td><input type=”email” id=”txtemail” name=”txtemail” placeholder=”Your Email Address ” /> </td>
</tr>

<tr>
<td>
<!– drop down menu (Country )–>
<select id=’select_Country’ name=”select_Country” >
<option selected=”selected” disabled=”disabled”> — Select Country — </option>
<?php
$query=’select Code,Country from _country order by Country';
$result = $wpdb->get_results($query);
foreach( $result as $row )
{
echo ‘<option value=’.$row->Code.’>’.$row->Country.'</option>';
}
?>
</select>
</td>
</tr>

<tr>
<td>
<!– drop down menu (City )–>
<select id=”select_city” name=”select_city”>
<option selected=”selected”> — Select City — </option>
</select>
</td>
</tr>

<tr>
<td> <input type=”submit” id=”btnsubmit” value=”Submit” name=’submit’/> </td>
</tr>

</table>
</form>
<?php } ?>
<?php
if($_POST[‘submit’])
{
$name=strip_tags($_POST[‘txtname’]);
$email=strip_tags($_POST[‘txtemail’]);
$country=$_POST[‘select_Country’];
$city=$_POST[‘select_city’];
$insertQuery=”insert into _customers(Name,Email,Country,City)values(‘$name’,’$email’, ‘$country’,’$city’)”;
$wpdb->query($insertQuery);
if($wpdb)
{
echo ‘Data Inserted Successfully';
}
}
?>
<?php add_shortcode(‘myshortcode’,form_creation); ?>
<?php function my_scripts_method()
{
wp_enqueue_script(‘jquery’); //add jQuery Library
wp_enqueue_script(‘fn’,plugins_url(‘/js/ajaxfn.js’ , __FILE__ ),array( ‘jquery’ )); //ajax operations
wp_enqueue_script(‘jquery.validate.min’,plugins_url(‘/js/jquery.validate.min.js’ , __FILE__ ),array( ‘jquery’ )); //Validation

}
add_action( ‘wp_enqueue_scripts’, ‘my_scripts_method’ ); //execute the function [ my_scripts_method ]
?>

上記のコードは、正常に動作がそれは 1 つの問題 [myshortcode] を置くとき特定のページまたはポストで、常に関係なくの上に表示されますそれは場所、私は検索とエコーの表は、しかし、それを返すを持ってしかし、wp を採用プラグイン関数を使用して html テーブルを返すことができます方法を知っていないが見つかりました。 そう私を助けてあなたの支援に感謝。、ありがとうございます。

答え

エコーを使用する場合、正確な位置に設定する必要があります。

$return = ‘<form>……..</form>';
return $return;

の答え

<?php
function form_creation()
{
global $wpdb;
ob_start();
?>
<form

を使用して解決

し、

</form>
<?php return ob_get_clean(); } ?>

http://stackoverflow.com/questions/27395719/wordpress-plugin-shortcode-always-displayed-on-the-top

スポンサーリンク

Leave a Reply