1

作成したプラグイン内にショートコードがあります。ショートコードは常に一番上に印刷されます。少し調べてみると、正しい場所に配置するには、「エコー」ではなく「戻る」必要があることがわかりました。

PHPファイル内のさまざまなスクリプトタグにインラインHTML、css、javascriptがあります。すべてのインラインHTMLを返そうとせずに動作させる方法はありますか?(すべてのhtmlタグに「return」を追加することは大きな努力です)?

上にショートコードを印刷することについて質問があったことは知っていますが、これは私が抱えている問題とまったく同じではありません。

あなたの答えに感謝します。

人々が私が扱っているコードのアイデアを理解するためだけに:これはコードのほんの一部ですが、html、cssがいたるところに広がっています。

extract(shortcode_atts(array(
    'id'=>'0', 'key'=>'0'), $atts));


if(substr($id, -3) == "***") $id = substr($id, 0, 8);
$id_licenses = getDbInfo($id);

$id_desc = array();
if(is_array($id_licenses)) $id_desc = $id_licenses;
else $id_desc[0] = $id_licenses;

if(isset($_POST['desc'])) {     
    $info = $_POST['desc'];

    $ids = getDbInfoByDesc($info);
}




?>

<style type="text/css">
label.inputlabel
{
width: 8em;
float: left;
text-align: left;
margin-right: 0.5em;
display: block; 
padding-left: 0.5em;

font-family: Tahoma;
  }
4

1 に答える 1

5

最終結果を返す必要がありますが、必要に応じて、結果とechoバッファ内のすべてをバッファリングして、バッファリングされたデータを再調整できます。

function yourShortCodeFunction(){
    ob_start();
    echo "Hello"; // this will not print out
    // more code
    $result = ob_get_contents(); // get everything in to $result variable
    ob_end_clean();
    return $result;
}
于 2012-10-02T18:34:29.193 に答える