Не могу получить url первой img у нового поста
-
Доброго времени суток.
Намудрил такой код.
add_action('transition_post_status', 'send_new_post', 10, 3); function send_new_post($new_status, $old_status, $post) { $pubpost = get_post_time(); $uppost = get_post_modified_time(); $idpost = get_the_ID(); $valuem = get_post_meta( $idpost, "anonsing", true ); function get_post_image_first() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); if(preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches)){ $first_img = $matches [1] [0]; return $first_img; } else { $first_img = "http://xxx/post-default.png"; return $first_img; } }; if('publish' === $new_status && 'publish' === $old_status && $post->post_type === 'post') { if ($pubpost == $uppost && get_post_meta($idpost, "anonsing", true)) { // должно срабатывать если пост был был реопубликован (у него дата создания и дата изменения полностью совпадает (плагин републикации так делает), ранее пост был в статусе опубликован, наличествует ключ под именем "anonsing" (значение ключа значение не имеет)) } } if('publish' === $new_status && 'publish' === $old_status && $post->post_type === 'post') { if ('now' == $valuem) { // должно срабатывать если пост был был отредактирован (ранее пост был в статусе опубликован, наличествует значение ключа "anonsing", которое должно быть "now") } } if('publish' === $new_status && 'publish' !== $old_status && $post->post_type === 'post') { if ('express' == $valuem) { // должно срабатывать если пост был был создан и сразу опубликован (ранее пост был не был в статусе опубликован, наличествует значение ключа "anonsing", которое должно быть "express") ... $imglink = get_post_image_first(); // отдаёт post-default.png, а надо ту, что в посте. ... } } }
не могу получить первую картинку (отдаёт post-default.png) если пост был создан и сразу опубликован (аналогично не будет работать, если пост отредактирован, а именно добавлена картинка, которая выше всех). Как мне получить эту первую картинку всё таки? Видимо в момент сохранения поста она ещё отсутствует в посте, а код уже срабатывает.
Делаю для пуш отправки, чтобы сообщение повторно не отправлялось, оттого так намудрил с логикой.
- Тема «Не могу получить url первой img у нового поста» закрыта для новых ответов.