Intereting Posts
Не удается снять короткий код JW Player? Уведомление Metabox nonce PHP Изменение wp-содержимого без изменения имени папки Новое уведомление по электронной почте для регистрации, отправляющее некоторые поля пустым на сайте admin emai id Правило перезаписи типа публикации, чтобы указать на пользовательскую страницу / шаблон Показать шаблон загружен Как создать пользовательский плагин слайдшоу WordPress? Добавить дополнительную кнопку «Оформить покупку» рядом с кнопкой «Добавить в корзину» на странице продукта woocommerce Как заставить все сообщения комментировать по умолчанию? Вложения в настройках / обсуждения не сохраняются Проверьте, было ли введено однократное или несколько пользовательских данных Разное количество сообщений в строке в макете API-интерфейс Heartbeat API не отключается Как я могу получить пользователя, который публикует сообщение? Объявление зависимостей скриптов между сценариями, заключенными в разные действия Миниатюра страницы не отображается в навигации

Интеграция Pinterest с помощью functions.php

Я использую тему для создания портфеля.

Я хотел бы добавить pinterest «pin-it button» в fuctions.php: Facebook, Google+, Twitter был сделан, просто pinterest не будет работать.

Не удалось найти неправильный код. Это мой код:

function share_this($content){ if ( is_singular( 'portfolio' ) ) { $content .= '<div class="share-this">' . /* Facebook */ '<div class="facebook-like-button">' . '<iframe src="http://www.facebook.com/plugins/like.php?href='. urlencode( get_permalink( $post->ID ) ) . '&amp;layout=button_count&amp;show_faces=false&amp;width=200&amp;action=like&amp;colorscheme=light&amp;height=21"' . 'scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:21px;" allowTransparency="true"></iframe>' . '</div>' . /* Pinterest */ '<div class="pinterest-it-button">' '<a href="http://pinterest.com/pin/create/button/?url=<?php echo get_permalink(); ?>&media=<?php echo get_thumbnail(); ?> '&description=<?php the_title(); ?>" class="pin-it-button" count-layout="horizontal">Pin It</a> '<script type="text/javascript" src="http://assets.pinterest.com/js/pinit.js"></script>'. '</div>' . /* Googgle+ */ '<div class="plusone"><g:plusone size="medium" href="'.get_permalink().'"></g:plusone></div>' . /* Twitter */ '<div><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a></div>' . '</div>'; } 

благодаря

Solutions Collecting From Web of "Интеграция Pinterest с помощью functions.php"

В вашем коде было несколько ошибок. Самым большим было то, что у функции даже не было закрывающей скобки, но мы, вероятно, предположим, что ее просто не скопировали в ваш пост, иначе ничего не было бы для вас работать.

Это фильтр по праву содержимого?

Похоже, вы хотите добавить эти акции после своего контента. Если это так, как вам нужна эта строка:

 add_filter('the_content','share_this'); 

Помимо этого, вы пытались закрыть теги php и открывать их в своем заявлении, в котором вы добавляете строковые данные в переменную $content . Вы также пытались эхо-данные и используемые функции эхо вместо возврата (например, the_title вместо get_the_title который возвращает значение).

Вместо одной большой строки, добавленной к вашему контенту, я очищал вещи, используя метод построения массива, но несколько $shares .= Тоже работали бы.

Это должно работать, хотя я его не тестировал.

 <?php function share_this($content) { if ( is_singular( 'portfolio' ) ) { global $post; $link = esc_attr(get_permalink($post->ID)); $title = esc_attr(get_the_title($post->ID)); $image_id = get_post_thumbnail_id($post-ID); $image_url = wp_get_attachment_image_src($image_id); $thumb = $image_url[0]; $shares = array(); $shares[] = '<div class="share-this">'; /* Facebook */ $shares[] = '<div class="facebook-like-button"><iframe src="http://www.facebook.com/plugins/like.php?href='.$link.'&amp;layout=button_count&amp;show_faces=false&amp;width=200&amp;action=like&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:200px; height:21px;" allowTransparency="true"></iframe></div>'; /* Pinterest */ $shares[] = '<div class="pinterest-it-button"><a href="http://pinterest.com/pin/create/button/?url='.$link.'&amp;media='.$thumb.'description='.$title.' class="pin-it-button" count-layout="horizontal">Pin It</a><script type="text/javascript" src="http://assets.pinterest.com/js/pinit.js"></script></div>'; /* Googgle+ */ $shares[] = '<div class="plusone"><g:plusone size="medium" href="'.$link.'"></g:plusone></div>'; /* Twitter */ $shares[] = '<div><a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a></div>'; $shares[] = '</div>'; return $content . implode("\n", $shares); } } 

Вы get_thumbnail() URL-адрес неправильно, так как сначала он должен быть urlencoded, а второй – get_thumbnail() , распечатывает ли он полный тег img? и 3-е вы эхом отдаете.

в любом случае попробуйте это

 /* Pinterest */ $baseurl = 'http://pinterest.com/pin/create/button/?'; $url = 'url='.urlencode(get_permalink()); $mediaUrl = '&media='.urlencode(wp_get_attachment_image_src ( get_post_thumbnail_id())); $description = '&description='.urlencode(get_the_title()); $fullURL = $baseurl.$url.$mediaUrl.$description; $content .= '<div class="pinterest-it-button"> <a href="'.$fullURL.'" class="pin-it-button" count-layout="horizontal">Pin It</a> <script type="text/javascript" src="http://assets.pinterest.com/js/pinit.js"></script> </div>'; 

Ваша проблема – простой синтаксис php. Вы не можете использовать открывающие и закрывающие php-скобки <?php и ?> назначении переменной, а отдельные строки и переменные должны быть объединены точкой .

В качестве примеров следуйте кнопкам G + и Facebook. Я также предполагаю, что вы хотите return свои результаты?