2017-01-17 2 views
1

私は、post-class関数を使用してcontent-page.phpテンプレートのコンテンツにカスタムクラスを追加しています。post_classハイフンを含むクラスを含まない

私はこの

post_class('class-name'); 

のようにハイフンでクラスを追加しようとしているが、私はそれが正しくそれを追加するハイフンなしのクラスが含まれている場合のに対して、それは、divの上で何も返しません。

私は配列を使用して、変数に格納しようとしましたが、どちらもうまくいきませんでした。

誰もこの問題に遭遇しましたか?

+0

https://codex.wordpress.org/Function_Reference/post_class#Adding_More_Classesの例でも 'post_class( 'class-name')'も使用しているので、なぜこれが動作しないのかわかりません。 – CBroe

+0

それは私に困っている、私はドキュメントとは何もしていないよ –

+0

パラメータのようなPHP変数で試してください - '$ post_class = 'class-name'; post_class($ post_class); ' – htmlbrewery

答えて

0

一般的なWordPressのバグのようなものですが、ハイフンや最大文字などと関係があります。これはWordPressプロジェクトのバグとして報告されることがあります。

以下がうまくいけば(未テスト)を動作します:

<?php 
    $classes = array(
     'class-name' 
    ); 
?> 

<div <?php post_class($classes); ?>> 

時々、WordPressは奇妙な行動を持っています。あなたはそれが動作する可能性があり

post_class('long-class-name'); 

post_class('alotofchars-classname'); 

を試してみました。

また、プラグインを無効にしようとしたことを確認してください。プラグインの問題でもあります。

そして、あなたはループの中にいなければなりません。

0

ハイフン付きのポストクラスを追加するだけで問題なく動作します(最新のWordPressリリースでローカルテスト済み)。

おそらく、ポストクラスを変更するプラグインまたはカスタムコードが問題です。生成されたポストクラスは、post_class()に渡されたものとともに、WordPressフィルタに渡されます。これにより、WordPressコア以外の他のプラグイン/コードでは、クラスが使用される前にクラスのリストを変更する機会が与えられます。

テーマやプラグインのコードを見てみると、このフィルタに付いているものが見つかって、表示されている問題が発生しています。

add_filter()を最初の引数として 'post_class'と呼んでいるものを探してください。

関連する問題