При импорте данных продукта не отображается мета-значение - PullRequest
0 голосов
/ 25 октября 2018

У меня очень странная проблема.Я работаю на WordPress-сайте на базе woocomerce, на котором я импортировал более 1 недостающей формы продукта XML программно. Моя проблема заключается в метаданных продукта с именем Связанный продукт , сохраненных в базе данных, отображаемых в фоновом режиме, ноне отображается на одной странице продукта в интерфейсе.Но когда я вручную обновляю пост из бэк-энда, то после него отображается.Я не могу вручную обновить более 1 сообщения об отсутствии.Поэтому я решил создать функцию, которая будет обновлять сообщение.

add_action( 'wp_loaded', 'my_update_posts' );
if ( $_REQUEST['test'] == 1 ) {

    function my_update_posts() {

        $args = array(
            'post_type' => 'product',
            'numberposts' => -1
        );
       $myposts = get_posts($args);

        //echo "<pre>"; print_r($myposts); die;

        foreach ( $myposts as $mypost ) {
            if ( $mypost->ID == 17 ) {
                 //$mypost->title = "test";
                 wp_update_post( $mypost );
             }
        }
    }
}

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

Я хочу создать функцию, которая может сохранять записи программно, включая метаданные. enter image description here

1 Ответ

0 голосов
/ 25 октября 2018

Лучший способ сохранить данные поста - использовать функцию update_post_meta .Я понятия не имею, как Woocommerce сохраняет связанные продукты.Имейте в виду, что это может создать более одного мета-поля, возможно, даже создать мета в другом связанном посте.

Надеюсь, это поможет, ваш вопрос немного расплывчат.

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