Intereting Posts
Отображается мобильная навигация, но стандартная навигация не исчезает register_taxonomy с несколькими типами объектов и update_count_callback Получить категорию из пользовательского типа сообщения Правильный и безопасный способ доступа к пользовательской базе данных SQL в пользовательском файле шаблона PHP изменить плагин для поддержки RTL Почему массив сообщений пуст? Показать условия для всех сообщений в текущем архиве или запросе Как добавить таблицу AJAX в PHP, данные которой вызывается через API Текущие и следующие сообщения месяца Локальный домен с помощью прокси-сервера: Infinite 301 redirect, неправильная URL-адрес Можем ли мы разрешить пользователям выбирать первую страницу из параметров темы? Изменение порядка отображения отображаемого имени по умолчанию wp_update_post с использованием post_name Ajaxing в functions.php Функция Child Theme functions.php не влияет

Создание короткого кода 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-адрес …?

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