web-dev-qa-db-ja.com

エスケープ引用

どういうわけか私が埋め込みビデオのようにしようとすると私のビデオはコードの中にスラッシュを持っています、しかし私がテンプレート自体にそれを追加するならばコードは問題ないです。

機能ファイル

<?php
    add_action ( 'edit_category_form_fields', 'extra_category_fields');
    function extra_category_fields( $tag ) {    //check for existing featured ID
        $t_id = $tag->term_id;
        $cat_meta = get_option( "category_$t_id");
?>

            <textarea name="Cat_meta[extra4]" id="Cat_meta[extra4]" style="width:60%;"><?php echo $cat_meta['extra4'] ? $cat_meta['extra4'] : ''; ?></textarea><br />
            <span class="description"><?php _e('Video'); ?></span>
        </td>
</tr>
<?php
}


add_action ( 'edited_category', 'save_extra_category_fileds');
function save_extra_category_fileds( $term_id ) {
    if ( isset( $_POST['Cat_meta'] ) ) {
        $t_id = $term_id;
        $cat_meta = get_option( "category_$t_id");
        $cat_keys = array_keys($_POST['Cat_meta']);
            foreach ($cat_keys as $key){
            if (isset($_POST['Cat_meta'][$key])){
                $cat_meta[$key] = $_POST['Cat_meta'][$key];
            }
        }
        update_option( "category_$t_id", $cat_meta );
    }
}
?>

テンプレートファイル

<center>
<?php 
if (isset($cat_data['extra4'])){
echo $cat_data['extra4'];
}
?>
</center>

ビデオimの埋め込みコードを投稿することもできます。

任意の助けは大歓迎です。

1
Jeremy Love

WordPressはmagic_quotes_gpcをエミュレートしますが、プラグインのセキュリティと下位互換性への懸念のため、しばらくの間これを廃止することはありません。

これを回避するには、stripslashes()を使用する必要があります。または、$ _ POST、$ _ GET、$ _ COOKIE、および$ _REQUEST配列を介してデータが到着したときにスラッシュを削除する必要がある場合は、WordPress stripslashes_deepを使用できます()関数: http://codex.wordpress.org/Function_Reference/stripslashes_deep

3
Elpie

私が正しいことを覚えていればWordPressはいずれにせよマジッククォートをエミュレートし、それらのためのサーバー設定を無視します。しかし、これは雑学です。 :)

実用的な部分はあなたがフォームからそれを取得している場合あなたの値にstripslashes()を試すことです。

2
Rarst