WordPress Связать регулярные сообщения с пользовательскими типами сообщений - PullRequest
0 голосов
/ 26 июля 2011

Я хотел бы связать пользовательские типы сообщений, которые являются продуктами, со стандартными сообщениями WordPress.Может кто-нибудь указать мне правильное направление, как это сделать?

Причина в том, что я хочу писать статьи в блоге, и некоторые из моих статей в блоге могут относиться к конкретному продукту.Поэтому на странице продуктов я хочу, чтобы у меня была ссылка на соответствующие статьи этого продукта.

1 Ответ

1 голос
/ 27 июля 2011

Я бы предложил сохранить массив или строку идентификаторов связанных сообщений / связанных продуктов, используя пользовательское поле в серверной части вашего веб-сайта.

В веб-интерфейсе вашего веб-сайта вы можете получить соответствующийИдентификаторы из базы данных и создание ссылок с использованием функций <?php echo get_the_title(ID); ?> и <?php echo get_page_link(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"]);}
}

Замените «produkt_preis» на «related_post_ids» или что-либо еще.

Для максимального удобства вы можете добавить JavaScript в функцию produkt_meta, которая выводит список ваших сообщений, поэтому вы просто нажимаетеоно и метаполе заполняются автоматически, но эту часть вы должны создать самостоятельно; -)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...