WordPressで関数get_term_linkのパラメータを設定する方法

藏色散人
リリース: 2020-01-11 09:45:22
オリジナル
3194 人が閲覧しました

WordPressで関数get_term_linkのパラメータを設定する方法

#WordPress で get_term_link 関数のパラメーターを設定するにはどうすればよいですか?

WordPressのget_term_link関数のパラメータ設定問題

おすすめ:「wordpressチュートリアル

最近誰かを助けました 友人が企業テーマを作成しており、その製品に product という特別な投稿タイプを設定する必要があります。管理の便宜のため、製品に特別なカテゴリ タイプとタグ タイプを設定しました。カテゴリ タイプは product_cat (WordPress 独自のカテゴリ)タイプはカテゴリです)。

get_term_link を使用する理由:

新しいタイプのカテゴリは使用できません カテゴリのリンク アドレスを出力するには、次の操作を行う必要があります。 get_term_link() 関数を使用します。この関数の使用法は次のとおりです:

<?php get_term_link( $term, $taxonomy ); ?>
ログイン後にコピー

具体的なリファレンスについては、WordPress Codex を参照してください: http://codex.wordpress.org/Function_Reference/get_term_link

質問:

例:

- カスタム カテゴリ ID の変数は $term です。$term は背景の設定に応じて変更されます。説明の便宜上、背景はパラメータは $custom_term = 8

- カスタム カテゴリ ID $term のカテゴリ リンク アドレスを取得したいのですが、公式の指示によると、次のようになります:

<?php 
$term = $custom_term; 
echo get_term_link( $term, &#39;product_cat&#39;); 
?>
ログイン後にコピー

正しいようです。しかし、ここで問題が発生します。エラーが返されます:

キャッチ可能な致命的なエラー: クラス WP_Error のオブジェクトを文字列に変換できませんでした。そうです、echo $term を直接使用すると、出力結果は確かに 8 で、憂鬱です...

しかし、これを直接実行すると、

<?php echo get_term_link( 8, &#39;product_cat&#39;); ?>
ログイン後にコピー

再び正常に動作します。

解決策:

WordPress Codex で遊んでいたとき、外国人の友人もこの問題に遭遇し、自分で解決したのを偶然見ました。彼はひらめきました... Portal 》

それは変数の型の問題であることがわかりました。この get_term_link 関数は、他の一般的に使用される WordPress 関数とは異なります。変数の型をそれ自体で変換することはありません。正しく動作する前に、文字クラスを整数に変換する必要があります。素晴らしい関数です Orz!

以下は正常に動作します:

(ソファに座っているボロのメモ: intval($term, 10) の方が良いですが、そうでない場合、$term の値が大きすぎるとエラーが発生します。システム変換の問題、または (int)$term) を使用してください)

<?php 
$term = $custom_term; 
echo get_term_link( intval($term), &#39;product_cat&#39;); 
?>
ログイン後にコピー

したがって、今後このような憂鬱な関数に遭遇した場合は、それが変数のデータ型に問題があるかどうかを検討する必要があります。

寝返り遊び(終了)。

以上がWordPressで関数get_term_linkのパラメータを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート