Это функция, которая принимает пользовательский контент типа Post и отправляет его в виде электронной почты вместе с некоторыми объявлениями (также пользовательским типом сообщения). < /p>
function send_newsletter_without_area($ID, $post_obj){
global $post;
$mail_text = $post_obj->post_content;
// ad types for listing in mail
$ad_types = array(
'premium' => 'Premium headline',
'standard' => 'Standard headline',
);
$subject = 'Latest jobs';
$from_name = 'Admin';
$from_email = 'example@mail.com';
$mailheaders = "MIME-Version: 1.0\n";
$mailheaders .= "X-Priority: 1\n";
$mailheaders .= "Content-Type: text/html; charset=\"UTF-8\"\n";
$mailheaders .= "Content-Transfer-Encoding: 7bit\n\n";
$mailheaders .= "From: $from_name " . "\r\n";
$args = array(
'post_type' => 'candidates',
'posts_per_page' => -1,
'post_status' => 'publish',
);
$query = new WP_Query($args);
while( $query->have_posts() ) : $query->the_post();
// email missing
if( '' == $email = get_post_meta($post->ID, 'candidate_mail', true) ){
continue;
}
$job_area = wp_get_object_terms($post->ID, 'oznaka');
if ( empty($job_area) ) {
$emailBody .= $mail_text . '
';
foreach ( $ad_types as $ad_key => $ad_headline ){
$o_args = array(
'post_type' => 'adverts',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'ad_type',
'value' => $ad_key,
),
),
);
$o_query = new WP_Query($o_args);
if( $o_query->have_posts() ){
while( $o_query->have_posts() ) : $o_query->the_post();
$emailBody .= 'Position: → '. get_the_title() .''; $emailBody .= '
';
$emailBody .= 'Company: ' . get_field('company_name') . ' (' . get_field('location') . ')
';
$exp_date = DateTime::createFromFormat('Ymd', get_field('exp_date'));
$exp_date = $exp_date->format('d/m');
$emailBody .= 'Apply until: ' . $exp_date . '
';
endwhile;
} // if( $o_query->have_posts() )
} // foreach( $ad_types as $ad_key => $ad_headline )
wp_reset_postdata();
$emailBody .= '
You can see all job ads on http://example.com/jobs/.';
}
$message = ''. $emailBody .'';
wp_mail($email, $subject, $message, $mailheaders);
endwhile;
wp_reset_postdata();
}
< /code>
Я затем запускаю эту функцию в публикации jobs_newsletter пользовательский тип post < /p>
function run_when_jobs_newsletter_published($ID, $post) {
send_newsletter_sa_oznakama($ID, $post);
}
add_action('publish_jobs_newsletter', 'run_when_jobs_newsletter_published', 10, 2);
< /code>
И все это работает, но не так, как должно. Я получаю почту с двойным содержанием, иногда тройной. < /P>
Пример того, как должно выглядеть почтовое содержание: < /prolly> < /p>
Hello, < /p>
. Разработчик
Компания: Компания (World)
Применить до: 21/02 < /p>
Вы можете увидеть все объявления о работе на http://example.com/jobs/.образное. Работы Вы можете найти интересным < /p>
Позиция: → Developer Frontend
Company: Company (World)
Применить до: 21/02 < /p>
Вы можете увидеть все объявления о работе на http://example.com/jobs/here. /> Позиция: → Developer Frontend
Company: Company (World)
применить до: 21/02 < /p>
Вы можете увидеть все объявления о работе на http://example.com/jobs/.
Подробнее здесь: https://stackoverflow.com/questions/349 ... le-content
Wp_mail () отправляет двойной контент ⇐ Php
Кемеровские программисты php общаются здесь
1758130830
Anonymous
Это функция, которая принимает пользовательский контент типа Post и отправляет его в виде электронной почты вместе с некоторыми объявлениями (также пользовательским типом сообщения). < /p> [b]
function send_newsletter_without_area($ID, $post_obj){
global $post;
$mail_text = $post_obj->post_content;
// ad types for listing in mail
$ad_types = array(
'premium' => 'Premium headline',
'standard' => 'Standard headline',
);
$subject = 'Latest jobs';
$from_name = 'Admin';
$from_email = 'example@mail.com';
$mailheaders = "MIME-Version: 1.0\n";
$mailheaders .= "X-Priority: 1\n";
$mailheaders .= "Content-Type: text/html; charset=\"UTF-8\"\n";
$mailheaders .= "Content-Transfer-Encoding: 7bit\n\n";
$mailheaders .= "From: $from_name " . "\r\n";
$args = array(
'post_type' => 'candidates',
'posts_per_page' => -1,
'post_status' => 'publish',
);
$query = new WP_Query($args);
while( $query->have_posts() ) : $query->the_post();
// email missing
if( '' == $email = get_post_meta($post->ID, 'candidate_mail', true) ){
continue;
}
$job_area = wp_get_object_terms($post->ID, 'oznaka');
if ( empty($job_area) ) {
$emailBody .= $mail_text . '
';
foreach ( $ad_types as $ad_key => $ad_headline ){
$o_args = array(
'post_type' => 'adverts',
'post_status' => 'publish',
'posts_per_page' => -1,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'ad_type',
'value' => $ad_key,
),
),
);
$o_query = new WP_Query($o_args);
if( $o_query->have_posts() ){
while( $o_query->have_posts() ) : $o_query->the_post();
$emailBody .= 'Position:[/b] → '. get_the_title() .'';[b] $emailBody .= '
';
$emailBody .= 'Company:[/b] ' . get_field('company_name') . ' (' . get_field('location') . ')
';
$exp_date = DateTime::createFromFormat('Ymd', get_field('exp_date'));
$exp_date = $exp_date->format('d/m');
$emailBody .= 'Apply until: ' . $exp_date . '
';
endwhile;
} // if( $o_query->have_posts() )
} // foreach( $ad_types as $ad_key => $ad_headline )
wp_reset_postdata();
$emailBody .= '
You can see all job ads on http://example.com/jobs/.';
}
$message = ''. $emailBody .'';
wp_mail($email, $subject, $message, $mailheaders);
endwhile;
wp_reset_postdata();
}
< /code>
Я затем запускаю эту функцию в публикации jobs_newsletter пользовательский тип post < /p>
function run_when_jobs_newsletter_published($ID, $post) {
send_newsletter_sa_oznakama($ID, $post);
}
add_action('publish_jobs_newsletter', 'run_when_jobs_newsletter_published', 10, 2);
< /code>
И все это работает, но не так, как должно. Я получаю почту с двойным содержанием, иногда тройной. < /P>
Пример того, как должно выглядеть почтовое содержание: < /prolly> < /p>
Hello, < /p>
. Разработчик
Компания: Компания (World)
Применить до: 21/02 < /p>
Вы можете увидеть все объявления о работе на http://example.com/jobs/.образное. Работы Вы можете найти интересным < /p>
Позиция: → Developer Frontend
Company: Company (World)
Применить до: 21/02 < /p>
Вы можете увидеть все объявления о работе на http://example.com/jobs/here. /> Позиция: → Developer Frontend
Company: Company (World)
применить до: 21/02 < /p>
Вы можете увидеть все объявления о работе на http://example.com/jobs/.
Подробнее здесь: [url]https://stackoverflow.com/questions/34900993/wp-mail-sends-double-content[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия