Intereting Posts
Как WP решает, как отображать страницу Основной сайт WordPress с несколькими гибкими клонами Как добавить виджет подписки на MailChimp на страницу? (не виджет боковой панели) Как отображать заголовок и отображаемое изображение только при выборе категории У меня есть что беспокоиться при переключении на тему по умолчанию, чтобы протестировать конфликты плагина? Как заставить WordPress отправлять электронное письмо с подтверждением / подтверждением для пользователя при регистрации get_post_field – Заголовок без абзаца Получите отрывок по ID Удалить All in One Seo из сообщений для авторов Постоянная ссылка на страницу перенаправляется на главную страницу Добавить метод отслеживания, который указал новых пользователей Создание пользовательских настроек при добавлении всплывающего окна Показать все результаты поиска Запросить объект для validate_callback Визуальные кнопки wp_editor не работают

Добавить объекты Embed.ly API для post_meta при обновлении

Я создал новый тип сообщения fr_news для добавления новостей на сайт. Пользователь вводит URL-адрес, и я хочу, чтобы он использовал API-интерфейс Embed.ly для отображения новостей. У меня есть API-интерфейс.

Вот рабочий код API:

 global $embedly_options; $embedly_options = get_option('embedly_settings'); $api = new Embedly\Embedly(array( 'key' => $embedly_options['key'], 'user_agent' => 'Mozilla/5.0 (compatible; mytestapp/1.0)' )); $fr_news_url = $post->fr_news_url; $embedly_resp = $api->oembed( $fr_news_url ); 

Что выдает это, когда print_r( $embedly_resp ) :

 stdClass Object ( [provider_url] => http://www.ibtimes.com [description] => House Minority Leader Nancy Pelosi, D-Calif., said there will be strong opposition if House Republicans don't make their recent concurrent resolution favorable to achieving a compromise. [title] => Pelosi: 'Strong Negative' Reaction If GOP Won't Compromise [author_name] => Laura Matthews [thumbnail_width] => 770 [url] => http://www.ibtimes.com/government-shutdown-2013-pelosi-warns-strong-negative-reaction-if-republicans-dont-go-compromise [thumbnail_url] => http://img.wordpressask.com/post-meta/pelosi-2013.jpg [author_url] => http://www.ibtimes.com/reporters/laura-matthews [version] => 1.0 [provider_name] => Ibtimes [type] => link [thumbnail_height] => 506 ) 

Однако, вместо того, чтобы тянуть за загрузку страницы, вы хотите добавить, чтобы извлекать из API и добавлять к post_meta каждый раз, когда изменяется URL-адрес:

 add_action( 'transition_post_status', 'get_fr_news_embedly', 9 ); function get_fr_news_embedly( $new_status, $old_status, $post ) { if ( $new_status != 'trash' && $post->type == 'fr_news' ) { // Post is not in trash and is fr_news global $embedly_options; $embedly_options = get_option('embedly_settings'); $api = new Embedly\Embedly(array( 'key' => $embedly_options['key'], 'user_agent' => 'Mozilla/5.0 (compatible; mytestapp/1.0)' )); $fr_news_url = $post->fr_news_url; $embedly_resp = $api->oembed( $fr_news_url ); if ( ! update_post_meta ( $post->id, 'fr_news_objs', $embedly_resp ) ) add_post_meta( $post->id, 'fr_news_objs', $embedly_resp ); } } 

Я тяну и показываю его так:

  <?php $embedly_resp = get_post_meta( the_ID(), 'fr_news_objs', true ); ?> <?php print_r( $embedly_resp ); ?> 

но безрезультатно.

Solutions Collecting From Web of "Добавить объекты Embed.ly API для post_meta при обновлении"