Тема: Мои первые ковыряния в вордпрессе. Укажите на ошибки.
Немного предыстории:
Подключил на сайте jQuery Fancybox как Алаичъ писал тут
Картинки которые были в статье все отлично работали. Но картинка - миниатюра к записи по клику не работала как остальные.
При описанном способе в всплывающем окне открываются только картинки внутри ссылки, т.е.:
<a href="http://site.ru/wp-content/uploads/2012/09/altar.jpg">
<img class="alignright post_thumbnail wp-post-image" title="title" src="http://site.ru/wp-content/uploads/2012/09/altar-300x225.jpg" alt="alt" width="168" height="126"/>
</a>
Миниатюра же выводится обычной картинкой:
<img class="alignright post_thumbnail wp-post-image" title="title" src="http://site.ru/wp-content/uploads/2012/09/altar-300x225.jpg" alt="alt" width="168" height="126"/>
Я исправил в single.php это:
<?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() )
{
the_post_thumbnail(array(300,225), array("class" => "alignleft post_thumbnail"));
}
?>
на это:
<?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() )
{
$full_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full');
echo '<a href="' . $full_image_url[0] . '" title="' . the_title_attribute('echo=0') . '" >';
the_post_thumbnail(array(300,225), array("class" => "alignleft post_thumbnail")); echo '</a>';
}
?>
Все работает, но в php я полный ноль. Делал методом тыка, взяв куски с какого то блога.
Насколько правильно написан код, может как то можно упростить? И нет ли ошибок каких грубых?
Тем же самым методом сделал, метатег для Open Graph, что бы при нажатии "мне нравится" от "Вконтакте" бралась именно картинка из миниатюры.
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:fb="http://ogp.me/ns/fb#"
xmlns:og="http://ogp.me/ns#" <?php language_attributes(); ?>>
+
<?php
if ( function_exists("has_post_thumbnail") && has_post_thumbnail() ) {
$full_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full');
echo '<meta property="og:image" content="' . $full_image_url[0] . '" />';
}
?>
так же просьба сказать есть ли ошибки, и можно ли более грамотнее решить данные задачи.