web-dev-qa-db-ja.com

パーマリンクのカスタムフィールド?

カスタム投稿タイプのパーマリンクにカスタムフィールド値を追加する方法を疑問に思っていますか?たとえば、私はカスタム投稿ファイルex:cpt-cities.phpを持っています。これはカスタム投稿タイプとそれらすべての詳細の登録を処理します。

そのファイルの中で、私はパーマリンクを「都市」カスタムフィールド値の1つを含むように設定しようとしています。私はadd_permastructを使ってパーマリンクを設定することができます。しかし、カスタムフィールドの値を取得できず、get_post_meta()が機能しません。これは、$ post-> IDが機能していないことが原因である可能性があります(これはカスタム投稿タイプファイル内にあり、投稿ループではないため)。

このようなファイル内でカスタムフィールド値を取得する方法を知っている人はいませんか。 add_permastructを宣言できる場所は他にありますか。それによって、カスタムフィールド値を取得できるようになりますか。

どんな助けでも大歓迎です、これはかなり大規模なプロジェクトの最後の部分の1つです。

1
Daniel
  1. カスタムフィールドの書き換えタグを登録するには、add_rewrite_tag( $tag, $regex );を使用します。
  2. post_type_linkをフィルタして書き換えタグを置き換えます。 2番目の引数は投稿オブジェクトなので、投稿IDには常にアクセスできます。

実装例については私のプラグイン T5 Rewrite をご覧ください。それはクラスT5_Rewrite_Tag_Customでまさにそれをします。

3
fuxia