web-dev-qa-db-ja.com

add_shortcodeが機能していません

この文書をWebサーバーで使用している場合は問題なく実行されていますが、WordPressでプラグインを使用するためにこのファイルが実行されている場合は、そのプラグインの効果を適用するページにファイルのショートコードを追加する必要があります。 ..しかし、私がショートコードを入れているとき、それはそのショートコードのストリングだけを示し、効果は示しません。 plzは以下のコード化されたファイルを見つけて解決策を提供します。

<?php
function sac_form()
{
echo "<html>";
echo "<head></head>";
echo "<body>";
echo "<form>";
echo "<table>";
echo '<tr><td>Name</td><td><input type="text" name="Name"></td></tr>';
echo '<tr><td>Email</td><td><input type="text" name="Email"></td></tr>';
echo '<tr><td>Subject</td><td><input type="text" name="subject"></td></tr>';
echo '<tr><td>Message</td><td><textarea rows="4" cols="50"></textarea></td></tr>';
echo '<tr><td><input type="submit" name="submit" value="Submit"></td></tr>';
echo "</table>
</form>
</body>
</html>";
}
add_shortcode( 'short_code', 'sac_form' );
?>
2
sachin kumar

ショートコードは、WordPress環境で使用されている場合にのみ実行されます。 WordPressのエンジンがロードされていないページでショートコードを使用しているようです。

また、常にデータを変数に格納してから、echoを使用する代わりに値を返します。

function sac_form() {
    $data = '
    <html>
        <head></head>
        <body>
            <form>
                <table>
                    <tr><td>Name</td><td><input type="text" name="Name"></td></tr>
                    <tr><td>Email</td><td><input type="text" name="Email"></td></tr>
                    <tr><td>Subject</td><td><input type="text" name="subject"></td></tr>
                    <tr><td>Message</td><td><textarea rows="4" cols="50"></textarea></td></tr>
                    <tr><td><input type="submit" name="submit" value="Submit"></td></tr>
                </table>
            </form>
        </body>
    </html>';
    return $data;
}
add_shortcode( 'short_code', 'sac_form' );
2
Jack Johansson