最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

wpdb - Get table parameter and save in meta value

programmeradmin2浏览0评论

I want to get number_1 and number_2 and save in meta_value in table wp_postmeta. How do I do the same? The id_help_i and the same of the $post-> ID. Some id of the table wp_table_help_i does not have the parameters number_1 and number_2 the ones that do not have I would like to add an example value 99999 from already thank you

sorry bad english

 function update_my_metadata() {


            $args = array(
                'post_type' => 'post', // Only get the posts
                'post_status' => 'publish', // Only the posts that are published
                'posts_per_page' => -1 // Get every post
            );


            $posts = get_posts($args);
            foreach ($posts as $post) {
                global $wpdb;
                $meta_value = $wpdb->get_var($wpdb->prepare("SELECT Number_1 + Number_2 FROM wp_table_help_i WHERE id_help_i = '$post->ID'", $id));
                // Run a loop and update every meta data
                update_post_meta($post->ID, 'meta_key', $meta_value);
            }
        }

            // Hook into init action and run our function
            add_action('init', 'update_my_metadata');

I want to get number_1 and number_2 and save in meta_value in table wp_postmeta. How do I do the same? The id_help_i and the same of the $post-> ID. Some id of the table wp_table_help_i does not have the parameters number_1 and number_2 the ones that do not have I would like to add an example value 99999 from already thank you

sorry bad english

 function update_my_metadata() {


            $args = array(
                'post_type' => 'post', // Only get the posts
                'post_status' => 'publish', // Only the posts that are published
                'posts_per_page' => -1 // Get every post
            );


            $posts = get_posts($args);
            foreach ($posts as $post) {
                global $wpdb;
                $meta_value = $wpdb->get_var($wpdb->prepare("SELECT Number_1 + Number_2 FROM wp_table_help_i WHERE id_help_i = '$post->ID'", $id));
                // Run a loop and update every meta data
                update_post_meta($post->ID, 'meta_key', $meta_value);
            }
        }

            // Hook into init action and run our function
            add_action('init', 'update_my_metadata');
Share Improve this question edited Jun 19, 2019 at 19:06 Juca Camarada asked Jun 19, 2019 at 18:51 Juca CamaradaJuca Camarada 32 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 0

Keep in mind that if you leave this on the init action, this will occur on every page load. If you only want this to occur once or during another action, you'll need to change this.

This will also timeout if you try to execute this on too many posts.

function update_my_metadata() {

    $args = array(
        'post_type'      => 'post', // Only get the posts
        'post_status'    => 'publish', // Only the posts that are published
        'posts_per_page' => -1, // Get every post
    );

    $posts = get_posts( $args );
    foreach ( $posts as $post ) {
            global $wpdb;
            $number_one = $wpdb->get_var( $wpdb->prepare( "SELECT Number_1 FROM {$wpdb->prefix}table_help_i WHERE id_help_i = %d", $post->ID ) );
            $number_two = $wpdb->get_var( $wpdb->prepare( "SELECT Number_2 FROM {$wpdb->prefix}table_help_i WHERE id_help_i = %d", $post->ID ) );
        if ( ! empty( $number_one ) ) {
            update_post_meta( $post->ID, 'your_meta_key_name', $number_one );
        }
        if ( ! empty( $number_two ) ) {
            update_post_meta( $post->ID, 'your_meta_key_name', $number_two  );
        }
    }
}
add_action('init', 'update_my_metadata');
发布评论

评论列表(0)

  1. 暂无评论