2011-07-26 12 views
0

私は標準のワードプレスポストとのプロダクトであるカスタムポストタイプのポストを関連づけたいと思います。どのようにこれを達成するための正しい方向に私を指すことができますか?Wordpressカスタムポストタイプのポストとの定期的な投稿との関連

私はブログの記事を書いて、私のブログの記事のいくつかは特定の製品に関連しているかもしれないからです。ですから、商品ページでは、関連商品のリンクをその商品に付けることができるようにしたいと考えています。

答えて

1

あなたのウェブサイトのバックエンドにカスタムフィールドを使用して、関連する投稿/関連商品のIDの配列または文字列を保存することをお勧めします。

あなたのウェブサイトのフロントエンドでは、<?php echo get_the_title(ID); ?><?php echo get_page_link(ID); ?>の機能を使用して、関連するIDをデータベースとリンクから取得できます。

バックエンドの編集がどれほど快適であるかによって、functions.phpの次のコードを使用してカスタムメタボックスをバックエンドに追加できます。

add_action('admin_init', 'register_meta'); 
add_action('save_post', 'save_metadaten'); 


function register_meta(){ 
     add_meta_box("produkt_meta","Daten des Produkts","produkt_meta","produkt","normal","high"); 
} 

function produkt_meta() { 
    global $post; 
    $custom = get_post_custom($post->ID); 
    $preis = $custom["produkt_preis"][0]; ?> 

    <h4>Produkt-Daten</h4> 
    <p style="padding-bottom:4px;"><label style="width:200px; display:inline-block;">Preis:</label><input size="5" name="produkt_preis" value="<?php echo $preis; ?>" /> €</p> 
    <?php 
} 

function save_metadaten(){ 
    global $post; 

    // check if there are associated post IDs set somehow, and prepare these to save them in the database 

    if($_POST["produkt_preis"]) {update_post_meta($post->ID, "produkt_preis", $_POST["produkt_preis"]);} 
} 

"associated_post_ids" または何と "produkt_preis" を交換してください。

あなたの投稿をリストするprodukt_meta関数にJavaScriptを追加すると、クリックするだけでメタフィールドが自動的に埋められますが、これはあなた自身で今作成する必要があります;-)

これが役に立ちます。

関連する問題