Intereting Posts
Как удалить все помеченные элементы в один конец Поиск ясности по полям обработки данных для настроек textarea WP Custom Fields Metabox Disappears – проблема с плагином ACF Показать сообщения в пользовательском поле Включить комментарии для ролей, CPT Проверьте, является ли первый абзац изображением, а затем отображает пользовательский код сразу после него? используя часть темы в другой теме Невозможно выполнить несериализацию сериализованных значений WordPress в таблице `wp_options`? Различные выходные данные цикла каждые x сообщений в пользовательском типе сообщения Метабокс одной позиции влияет на другие как отобразить сегодня наиболее просматриваемые должности заказ по пользовательским мета-представлениям Что означает Multisite в WordPress? Внедрение SOAP-клиента в плагин WordPress? Как опубликовать элементы портфеля с будущей датой? добавить выбор роли пользователя в регистрационную форму

Создание короткого кода WordPress

Я кодирую свой первый короткий код WP, и у меня проблемы с превращением моего рабочего PHP в рабочий shortcode. Я успешно создал базовый короткий код, который возвращает текст в то место, которое я бы хотел, чтобы это было хорошо. Но я не так хорошо помещаю шоколад в арахисовое масло.

Вот что я имею для рабочего PHP:

<div class="authorsocial"> <h5>Connect, Share &amp; Follow</h5> <ul> <?php $meta_socialgr = apply_filters('the_content', get_post_meta($post->ID, 'author_goodreads', true)); if (!empty($meta_socialgr)) { ?> <li><a href="<?php echo get_post_meta( $post->ID, 'author_goodreads', true );?>"><img src="http://img.wordpressask.com/php/"></a></li> <?php } ?> </ul> </div><!-- end authorsocial --> 

И вот мой основной код:

 <?php // Adding a shortcode to return each author's social media links function funcauthor_social( $atts ){ $output = 'bubbalicious'; return $output; } add_shortcode( 'author_social', 'funcauthor_social' ); ?> 

У меня нет большого успеха в замене «барабанных» на мои функции, поскольку я просто не понимаю … что-то.

 <?php // Adding a shortcode to return each author's social media links function funcauthor_social( $atts ){ $output = '<div class="authorsocial"> <h5>Connect, Share &amp; Follow</h5> <ul>'.$meta_socialgr = apply_filters('the_content', get_post_meta($post->ID, 'author_goodreads', true)); if (!empty($meta_socialgr)) { ' <li><a href="'.echo get_post_meta( $post->ID, 'author_goodreads', true );.'"><img src="http://img.wordpressask.com/php/"></a></li>'.}.' </ul> </div>'; return $output; } add_shortcode( 'author_social', 'funcauthor_social' ); ?> 

Solutions Collecting From Web of "Создание короткого кода WordPress"

Отделите свою логику от строки, которую хотите вернуть:

 <?php // Adding a shortcode to return each author's social media links function funcauthor_social( $atts ){ $meta_socialgr = esc_url(get_post_meta( $post->ID, 'author_goodreads', true )); $output = '<div class="authorsocial"><h5>Connect, Share &amp; Follow</h5><ul>'; if (!empty($meta_socialgr)) { $output .= '<li><a href="'.$meta_socialgr.'"><img src="http://img.wordpressask.com/php/"></a></li>'; } $output .= '</ul></div>'; return $output; } add_shortcode( 'author_social', 'funcauthor_social' ); ?> 

Непонятно, почему вы применяете фильтр the_content к $meta_socialgr который выглядит как URL-адрес …?

Кроме того, при отображении данных из базы данных (или, в противном случае, какого-либо пользователя) убедитесь, что вы дезинфицируете эти данные.