web-dev-qa-db-ja.com

「 - 」の付いたワードプレスの問題

私のウェブサイトを移行した後、私はWordpressに問題があります。タイトルタグ(<title>)に"&#8211;"の代わりに"-"があります

ブラウザにとってはそれは問題ありませんが、タイトルではそれは問題ありません。しかし、HTMLコードでは"&#8211;"....です.

助けてください<3

5
incestweb

バックグラウンド:

WordPressは通常のダッシュ( - )を長いダッシュ()に変換し、まっすぐな引用符を中括弧に変換し、その他の同様の記号や句読記号をwptexturizeを使用してプリンターに適したバージョンに変換します。

一般的にはWordPressに任せることをお勧めします。ただし、時折、この動作を無効にしたい場合があります。例えば、プログラミングコードまたはコマンドを書いていて、人々にそれらをコピーしてもらいたいのであれば。

溶液:

この変換を回避する1つの方法は、これらのCODEを<code></code>ブロックの中に入れることです。そのようにWordPressはそれらが現状のまま保たれることを意味していることを知るでしょう。しかし、私たちはすでにそれを書いているかもしれず、書き換えたくありません。その場合、wptexturizeを無効にすることでWordPressがこれらの自動変換をすべて実行するのを止めることが可能です。

WordPress 4.0以降では、プラグインまたはテーマのfunctions.phpファイルで次のCODEを使用するのは簡単です。

add_filter( 'run_wptexturize', '__return_false' );

WordPress 4.0より前のバージョンでは、もう少しコードが必要です。

foreach( array(
    'bloginfo',
    'the_content',
    'the_excerpt',
    'the_title',
    'comment_text',
    'comment_author',
    'link_name',
    'link_description',
    'link_notes',
    'list_cats',
    'nav_menu_attr_title',
    'nav_menu_description',
    'single_post_title',
    'single_cat_title',
    'single_tag_title',
    'single_month_title',
    'term_description',
    'term_name',
    'widget_title',
    'wp_title'
) as $texturize_disable_for )
remove_filter( $texturize_disable_for, 'wptexturize' );

もちろん、あなたはあなたのコンテンツの一部に対してのみwptexturizeを無効にすることを選ぶかもしれません。 titleのみを無効にするには、次のようにします。

remove_filter( 'the_title', 'wptexturize' );
1
Fayaz