2017-01-26 18 views
1

私はワードプレス検索フォームから入力値を検証して変更したいと考えています。入力値をPHPで確認/変更

<?php $unique_id = esc_attr(uniqid('search-form-')); ?> 

<form role="search" method="get" class="search-form" action="<?php echo esc_url(home_url('/')); ?>"> 
    <label for="<?php echo $unique_id; ?>"> 
     <span class="screen-reader-text"><?php echo _x('Search for:', 'label', 'twentyseventeen'); ?></span> 
    </label> 


    <input type="search" id="<?php echo $unique_id; ?>" class="search-field" placeholder="<?php echo esc_attr_x('Search &hellip;', 'placeholder', 'twentyseventeen'); ?>" value="<?php echo get_search_query(); ?>" name="s" /> 


    <button type="submit" class="search-submit"> 
<?php echo twentyseventeen_get_svg(array('icon' => 'search')); ?><span class="screen-reader-text"><?php echo _x('Search', 'submit button', 'twentyseventeen'); ?></span></button> 
</form> 

私は値を変更するには、このコードを使用しますが、これはTESTとし、後のすべての文字を削除する必要がありますが、それはaintの;-(

作業aintの。

私は何かが足りないのですか?

最後に入力値を検証したいと思います。特定の単語が含まれている場合は、クリーンな検索文字列に変更する必要があります。

答えて

0

あなたは何を試してみましたか? Wordpressの通常の検索フォームのように見えます。あなたはこのような何か行うことができます検索値逃れるため

function your_filter($query) { 
    if (!$query->is_search) { 
     return $query; 
    } 

    // your code here 

    return $query; 
} 
//hook 
add_filter('pre_get_posts','your_filter'); 

:あなたはpre_get_posts機能にフックする必要があり、クエリを変更するには

value="<?php echo doWhatEverYouWantFunction(get_search_query()); ?>" 
+0

を私はこれを試してみました: '$クエリ= SUBSTR構文エラー、予期しない '$ query'(T_VARIABLE)、/ home/voordnlの関数(T_FUNCTION)を期待しています。 /public_html/wp-includes/class-wp-query.php on line 467' – Maarten

+0

@Maartenクエリはオブジェクトです。 https://codex.wordpress.org/Class_Reference/WP_Query –

関連する問題