Example #1
0
 public static function link_translations($posts)
 {
     if (!function_exists('pll_save_post_translations')) {
         return;
     }
     pll_save_post_translations($posts);
 }
 /**
  * Define the sarch page url for the current language
  *
  * @param $default_search_page_id
  * @param $default_search_page_url
  *
  * @return string
  */
 function set_search_page_url($default_search_page_url, $default_search_page_id)
 {
     global $polylang;
     $current_language_code = $this->get_current_language_code();
     // Get search page in current language
     $default_search_page_id_translated = pll_get_post($default_search_page_id, $current_language_code);
     if (!$default_search_page_id_translated) {
         // Create a new search page for the translation
         $default_search_page = WPSolrSearchSolrClient::create_default_search_page();
         // Retrieve current search page translations
         $translations = $polylang->model->get_translations('post', $default_search_page_id);
         // Add current translation to translations
         $translations[$current_language_code] = $default_search_page->ID;
         // Save translations
         pll_save_post_translations($translations);
     }
     $result = $default_search_page_id === $default_search_page_id_translated ? $default_search_page_url : get_permalink($default_search_page_id_translated);
     return $result;
 }
 /**
  * Short Description. (use period)
  *
  * Long Description.
  *
  * @since    1.0.0
  */
 public static function activate()
 {
     global $polylang;
     $page = get_page_by_title('Enquire Now');
     if (!$page) {
         if (isset($polylang)) {
             // START ENQUIRE PAGE SETUP
             $pagetranslations = array();
             $languages = $polylang->model->get_languages_list();
             foreach ($languages as $language) {
                 $slug = $language->slug;
                 //error_log($slug);
                 switch ($slug) {
                     /*case 'en':
                           $args = array(
                             'post_title'      => 'Enquire Now',
                             'post_content'    => '[enquireform]',
                             'post_status'     => 'publish',
                             'post_author'     => 1,
                             'post_type'       => 'page'
                           );
                       break;*/
                     case 'de':
                         $args = array('post_title' => 'Anfrage', 'post_content' => '[enquireform]', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                         break;
                     case 'fr':
                         $args = array('post_title' => 'Renseignez Vous', 'post_content' => '[enquireform]', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                         break;
                     case 'es':
                         $args = array('post_title' => 'Solicite Informacion', 'post_content' => '[enquireform]', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                         break;
                     case 'pt':
                         $args = array('post_title' => 'Consultar', 'post_content' => '[enquireform]', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                         break;
                     default:
                         $args = array('post_title' => 'Enquire Now', 'post_content' => '[enquireform]', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                 }
                 $page = get_page_by_title($args['post_title']);
                 if (!$page) {
                     $pid = wp_insert_post($args);
                     pll_set_post_language($pid, $slug);
                     if ($pid && !is_wp_error($pid)) {
                         //update_post_meta( $pid, '_wp_page_template', 'page-templates/enquire-template.php' );
                     }
                     $pagetranslations[$slug] = $pid;
                 } else {
                     $pid = $page->ID;
                     //update_post_meta( $pid, '_wp_page_template', 'page-templates/enquire-template.php' );
                     $pagetranslations[$slug] = $pid;
                 }
             }
             pll_save_post_translations($pagetranslations);
             // END ENQUIRE PAGE SETUP
             // START THANK YOU PAGE SETUP
             $pagetranslations = array();
             $languages = $polylang->model->get_languages_list();
             foreach ($languages as $language) {
                 $slug = $language->slug;
                 //error_log($slug);
                 switch ($slug) {
                     /*case 'en':
                           $targs = array(
                             'post_title'      => 'Thank You',
                             'post_content'    => 'thank you html markup here... best practice is to use a shortcode.',
                             'post_status'     => 'publish',
                             'post_author'     => 1,
                             'post_type'       => 'page'
                           );
                       break;*/
                     case 'de':
                         $targs = array('post_title' => 'Vielen Dank', 'post_content' => 'thank you html markup here... best practice is to use a shortcode.', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                         break;
                     case 'fr':
                         $targs = array('post_title' => 'Merci', 'post_content' => 'thank you html markup here... best practice is to use a shortcode.', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                         break;
                     case 'es':
                         $targs = array('post_title' => 'Gracias', 'post_content' => 'thank you html markup here... best practice is to use a shortcode.', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                         break;
                     case 'pt':
                         $targs = array('post_title' => 'Obrigado', 'post_content' => 'thank you html markup here... best practice is to use a shortcode.', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                         break;
                     default:
                         $targs = array('post_title' => 'Thank You', 'post_content' => 'thank you html markup here... best practice is to use a shortcode.', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
                 }
                 $page = get_page_by_title($targs['post_title']);
                 if (!$page) {
                     $pid = wp_insert_post($targs);
                     pll_set_post_language($pid, $slug);
                     if ($pid && !is_wp_error($pid)) {
                         //update_post_meta( $pid, '_wp_page_template', 'page-templates/thankyou-template.php' );
                     }
                     $pagetranslations[$slug] = $pid;
                 } else {
                     $pid = $page->ID;
                     //update_post_meta( $pid, '_wp_page_template', 'page-templates/thankyou-template.php' );
                     $pagetranslations[$slug] = $pid;
                 }
             }
             pll_save_post_translations($pagetranslations);
             // END THANK YOU PAGE SETUP
         } else {
             // Create post object
             $args = array('post_title' => 'Enquire Now', 'post_content' => '[enquireform]', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
             $pid = wp_insert_post($args);
             if ($pid && !is_wp_error($pid)) {
                 //update_post_meta( $pid, '_wp_page_template', 'page-templates/enquire-template.php' );
             }
             // Create post object
             $args = array('post_title' => 'Thank You', 'post_content' => 'thank you html markup here... best practice is to use a shortcode.', 'post_status' => 'publish', 'post_author' => 1, 'post_type' => 'page');
             $pid = wp_insert_post($args);
             if ($pid && !is_wp_error($pid)) {
                 //update_post_meta( $pid, '_wp_page_template', 'page-templates/thankyou-template.php' );
             }
         }
     }
 }
Example #4
0
    $postid = wp_insert_post($newpost);
    $url = 'https://cfp.openfest.org/uploads/speaker_profile/picture/' . $row->id . '/schedule_' . $row->picture;
    echo $url . "\n";
    $att = media_sideload_image($url, $postid, "photo_spk_bg_" . $row->user_id);
    preg_match("%src='(http://[^']*)'%", $att, $matches);
    $wpurl = $matches[1];
    $attid = pn_get_attachment_id_from_url($wpurl);
    add_post_meta($postid, '_thumbnail_id', $attid);
    pll_set_post_language($postid, 'bg');
    $postid_en = wp_insert_post($newpost);
    $url = 'https://cfp.openfest.org/uploads/speaker_profile/picture/' . $row->id . '/schedule_' . $row->picture;
    echo $url . "\n";
    $att = media_sideload_image($url, $postid_en, "photo_spk_en_" . $row->user_id);
    preg_match("%src='(http://[^']*)'%", $att, $matches);
    $wpurl = $matches[1];
    $attid = pn_get_attachment_id_from_url($wpurl);
    add_post_meta($postid_en, '_thumbnail_id', $attid);
    pll_set_post_language($postid_en, 'en');
    foreach (array($postid, $postid_en) as $v) {
        if (strlen($row->github) > 1) {
            add_post_meta($v, 'github', $row->github);
        }
        if (strlen($row->twitter) > 1) {
            add_post_meta($v, 'twitter', $row->twitter);
        }
        if (strlen($row->public_email) > 1) {
            add_post_meta($v, 'public_email', $row->public_email);
        }
    }
    pll_save_post_translations(array($postid => 'bg', $postid_en => '$en'));
}
Example #5
0
 public function saveImage($translationId, $languageSlug, $image)
 {
     // Check if the translations already exists
     if ($translation = Pll()->model->post->get_translation($image['id'], $languageSlug)) {
         return update_post_meta($translationId, $image['key'], $translation);
     }
     $translationImagePost = $image['post'];
     // Create a new attachment
     $translationImagePost->ID = null;
     $translationImagePost->post_parent = $translationId;
     $translationImageId = wp_insert_attachment($translationImagePost);
     add_post_meta($translationImageId, '_wp_attachment_metadata', get_post_meta($image['id'], '_wp_attachment_metadata', true));
     add_post_meta($translationImageId, '_wp_attached_file', get_post_meta($image['id'], '_wp_attached_file', true));
     add_post_meta($translationImageId, '_wp_attachment_image_alt', get_post_meta($image['id'], '_wp_attachment_image_alt', true));
     $mediaTranslations = Pll()->model->post->get_translations($image['id']);
     if (!$mediaTranslations && ($lang = Pll()->model->post->get_language($image['id']))) {
         $mediaTranslations[$lang->slug] = $image['id'];
     }
     $mediaTranslations[$languageSlug] = $translationImageId;
     pll_save_post_translations($mediaTranslations);
     update_post_meta($translationId, $image['key'], $translationImageId);
     do_action('bp_trapp_after_save_post_image', $translationImageId, $image);
 }