Example #1
0
 /**
  * Обновление полей 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 . '" />';
 }
Example #2
0
 /**
  * Обновление полей 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;
         }
     }
 }
Example #3
0
 public function getExcerpt()
 {
     return fw_lang()->filterLang($this->_wpPost->post_excerpt);
 }
Example #4
0
/**
 * 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;
}