標準のPHP WordPressテーマをTimber/Twigに変換しようとしていますが、カスタム関数からの出力を得るのに問題があります。これは、特に、投稿にYoast Primary Termが設定されているかどうかを調べ、複数のカテゴリを持つ投稿の主要なカテゴリを指定できるようにします。私は、WordPressのカスタム機能をTimberのインデックスページで利用できますか?
私はループ内でこれを行う必要があり、ほとんどのドキュメントでは1ページで行う方法について説明しています。私はここで「機能」セクション(https://github.com/timber/timber/wiki/WP-Integration#functions)で読んだことをもとに
function my_theme_get_post_category() {
// regular list of categories set in WP
list($wp_category) = get_the_category();
// primary category set with Yoast plugin
$primary_category = new WPSEO_Primary_Term('category', get_the_ID());
$primary_category = $primary_category->get_primary_term();
$primary_category = get_category($primary_category);
// use only one or the other
if (is_wp_error($primary_category) || $primary_category == null) {
$category = $wp_category;
} else {
$category = $primary_category;
}
return $category;
}
、私は{{ function('my_theme_get_post_category', post.ID) }}
と私のテンプレートでこれを呼び出すことができる必要があり、私は私のfunctions.phpでこのような機能を持っていますしかし、それは動作しません。
私は、$postID
を関数の必須パラメータにしようとしましたが、何も役に立たなかったのです。
また、TimberHelper::function_wrapper
を使用し、{{ my_theme_get_post_category }}
のテンプレートでそれを呼び出してみましたが、それでも何も成し遂げられませんでした。
現在使用しているティンバーのバージョンはどれですか? – Gchtr
私はプラグインバージョン1.2.4を使用しています – syzygy333