我想将自定义帖子类型的帖子与标准wordpress帖子相关联。任何人都可以指出我正确的方向如何实现这一目标?
原因是我想写博客文章,我的一些博客文章可能与特定产品有关。因此,在产品页面上,我希望能够为该产品提供相关文章的链接。
答案 0 :(得分:1)
我建议将相关帖子/相关产品的ID数组或字符串保存为使用您网站后端的自定义字段。
在您网站的前端,您可以使用<?php echo get_the_title(ID); ?>
和<?php echo get_page_link(ID); ?>
功能从数据库和链接中获取相关的ID。
根据后端编辑的舒适程度,您可以使用functions.php中的以下代码将自定义Meta Box添加到后端。
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"]);}
}
将“produkt_preis”替换为“associated_post_ids”或其他任何内容。
为了获得最大的舒适度,您可以在produkt_meta函数中添加一个JavaScript,其中列出了您的帖子,因此您只需单击它并自动填充元字段,但这是您应该自己创建的部分; - )
希望这有帮助。