Intereting Posts

прикреплять одно сообщение от одного типа сообщения к другому сообщению из другого типа сообщения

У меня есть 2 пользовательских типа сообщений: повестка дня и эталон. На каждой должности в повестке дня я хочу выбрать должность, чтобы прикрепить ее, и то же самое с обычными сообщениями. Поэтому мне нужна связь между сообщениями, повесткой дня, en doel.

Я нашел этот плагин с именем posts2posts от scribu, он прикрепляет типы сообщений друг к другу, но я не могу узнать, как и можно ли подключать определенные записи из одного типа сообщений к определенным сообщениям из другого типа сообщения.

Идеальное решение – иметь выпадающий список в одном типе сообщений, который отображает все сообщения из другого, и вы можете выбрать один. Например, при редактировании сообщения из повестки дня я могу выбрать сообщение от doel, чтобы прикрепить его.

И позже я хочу это сделать.

Кто-нибудь знает, как это можно сделать легко, или рекомендовать хороший плагин?

Извините за мое плохое объяснение, надеюсь, что это ясно.

Solutions Collecting From Web of "прикреплять одно сообщение от одного типа сообщения к другому сообщению из другого типа сообщения"

Рекомендации плагинов здесь рассматриваются не по теме. Одним из решений может быть добавить метабокс к вашему сообщению так:

Добавить в Functions.php

/** Add Post Metabox **/ function add_custom_meta_box() { add_meta_box( 'pick_post', // $id 'Pick Post', // $title 'show_custom_meta_box_pick_post', // $callback 'agenda', // $page 'side', // $context 'high'); // $priority } add_action('add_meta_boxes', 'add_custom_meta_box'); /** Post Metabox Callback (show some stuff in box) **/ function show_custom_meta_box_pick_post() { $doelArr = get_posts( array( 'post_type' => 'doel', 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => -1 ) ); $meta_doel = get_post_meta($post->ID, '_doellist', true); ?> <input type="hidden" name="info_meta_box_nonce" value="<?php echo wp_create_nonce(basename(__FILE__)); ?>" /> <strong>Associated Doel</strong> <br /> <select id="selectdoel" name="_doellist"> <option value="">Select Doel</option> <?php foreach($doelArr as $doel) : setup_postdata( $doel ) ?> <?php if($doel->ID == $meta_doel) : ?> <option value="<?php echo $doel->ID; ?>" selected="selected"><?php echo $doel->post_title; ?></option> <?php else : ?> <option value="<?php echo $doel->ID; ?>"><?php echo $doel->post_title; ?></option> <?php endif; ?> <?php endforeach; ?> </select> } /** Save Our Meta-data **/ function save_custom_meta($post_id) { global $post; // check autosave if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) || (!current_user_can('edit_post', $post_id))) return $post_id; if($post->post_type == 'agenda') { // Doel Selection List Check if(isset($_POST['_doellist']) && $_POST['_doellist'] != '') update_post_meta($post_id, '_doellist', strip_tags($_POST['_doellist'])); else delete_post_meta($post_id, '_doellist'); } } 

Это означает создание небольшого метаболизма с выпадающим списком Doel, а затем сохранил идентификатор сообщения Doel в качестве метазначения. Вы можете получить эту метазначение (Doel Post ID) в любое время, перейдя в функцию «Повестка дня» к функции get_post_meta() .

$meta_doel = get_post_meta($post->ID, '_doellist', true);

Тогда вы могли бы получить всю запись в Doel:

$doel_post = get_post($meta_doel);