/** * Обновление полей Project и Company */ public function update_post_fields() { global $wpdb; $page = @$_GET['num']; if (!$page) { $from = 0; } else { $from = $page * 5000; } $next_page = $page + 1; $posts = $wpdb->get_results("SELECT * FROM allmoldova_posts WHERE ID > 211756 LIMIT " . $from . ", 5000"); if (count($posts) == 0) { echo "Я закончил!!!"; wp_die(); } foreach ($posts as $post) { $metaData = $wpdb->get_results('SELECT * FROM allmoldova_postmeta WHERE post_id = ' . $post->ID . ' AND FIND_IN_SET(meta_key, "company,project,material_lang")'); if (!$metaData) { continue; } $update = array(); foreach ($metaData as $row) { if ($row->meta_key == 'material_lang') { $lang = maybe_unserialize($row->meta_value); if (count($lang) < 2 && fw_lang()->getCurrentLangCode($lang[0]) !== 0) { $update['lang'] = fw_lang()->getCurrentLangCode($lang[0]); } } else { if (preg_match('/"(\\d+)"/', $row->meta_value, $matches)) { $update[$row->meta_key] = $matches[1]; } } } if (!$update) { continue; } $query = 'UPDATE allmoldova_posts SET '; $first = 0; foreach ($update as $field => $value) { $query .= ($first ? ',' : '') . $field . ' = ' . $value; $first = 1; } $query .= " WHERE ID = " . $post->ID; if ($wpdb->query($query) === FALSE) { echo $query; var_dump('error in ' . $post->ID); die; } } //Обновление языков echo '<meta http-equiv="refresh" content="0; url=' . site_url('/') . 'wp-admin/options-general.php?page=fruitframe-import&action=update_post_fields&num=' . $next_page . '" />'; }
/** * Обновление полей Project и Company */ public function update_post_fields() { global $wpdb; $last = $wpdb->get_row("SELECT * FROM allmoldova_import WHERE old_table_name = 'last_wp_post'", ARRAY_A); $posts = $wpdb->get_results("SELECT * FROM allmoldova_posts WHERE ID > " . $last['last_id'] . ""); foreach ($posts as $post) { $metaData = $wpdb->get_results('SELECT * FROM allmoldova_postmeta WHERE post_id = ' . $post->ID . ' AND FIND_IN_SET(meta_key, "company,project,material_lang")'); if (!$metaData) { continue; } $update = array(); foreach ($metaData as $row) { if ($row->meta_key == 'material_lang') { $lang = maybe_unserialize($row->meta_value); if (count($lang) < 2 && fw_lang()->getCurrentLangCode($lang[0]) !== 0) { $update['lang'] = fw_lang()->getCurrentLangCode($lang[0]); } } else { if (preg_match('/"(\\d+)"/', $row->meta_value, $matches)) { $update[$row->meta_key] = $matches[1]; } } } if (!$update) { continue; } $query = 'UPDATE allmoldova_posts SET '; $first = 0; foreach ($update as $field => $value) { $query .= ($first ? ',' : '') . $field . ' = ' . $value; $first = 1; } $query .= " WHERE ID = " . $post->ID; if ($wpdb->query($query) === FALSE) { echo $query; var_dump('error in ' . $post->ID); die; } } }
public function getExcerpt() { return fw_lang()->filterLang($this->_wpPost->post_excerpt); }
/** * Get single option by lang * * @param string $option * @param bool $default value * * @return mixed */ function fw_get_option_by_lang($option, $default = false) { $lang = fw_lang()->getCurrentLang(); $value = of_get_option($option . '_' . $lang, $default); return $value; }