0

サイト内の同様の質問を見ていくつかの解決策を試しましたが、うまくいきません。=(助けてください。

これは私の元のコードからの抜粋です:

<form action="" method="get">
<input type="text" name="search" value="">
<input type="submit" value="Search">
<?php echo do_shortcode('[expand]
<input type="checkbox" name="title" <?php if(isset($_GET['title'])) echo "checked='checked'"; ?>>
    <label for="ti">Title</label></td>
[/expand]'); ?>
</form>

基本的に、送信する前にチェックボックスがオンになっている場合は、チェックボックスをオンのままにしておきます。残念ながら、何時間も経ちましたが、ショートコード内でphpを動作させることができません.

助けてください。

4

3 に答える 3

0

あなたはこれを試すことができます、

<form action="" method="GET">
    <input type="text" name="search" value="">
    <input type="submit" value="Search">
    <?php 
     $check=isset($_GET['title']) ? "checked='checked'" : '';
     echo do_shortcode('[expand]
     <input type="checkbox" name="title" '.$check.' ><label for="ti">Title</label></td>
     <input type="submit" value="Search">
     [/expand]'); 
    ?>
</form>
于 2013-08-16T10:00:42.607 に答える
0

> タイトルの代わりに [/expand]'); ?>

単純に

<?php
$state = isset($_GET['title'])?"checked='checked'":"";
$expand = "[expand]
<input type=\"checkbox\" name=\"title\" ".$state. " >";
echo do_shortcode($expand);?>
于 2013-08-16T09:52:51.093 に答える
0

いいえ、できません。文字列内の php コードは PHP コードではありません。実際に PHP である部分を検出し、それらを評価する必要があります。

[expand]関数に渡す前に、タグに埋め込む文字列を作成しますdo_shortcode()

于 2013-08-16T09:49:04.027 に答える