[Туторијал] Имаш проблем со сликите додека споделуваш пост? Не повеќе!

Martinovski

Администратор
Зачленет/а
21 декември 2011
Мислења
154
Реакции
32
Епа луѓе, некогаш и јас го имав овој проблем и после многу истражување и читање, дојдов до конечното решение. Многу од корисниците на вордпрес го имаат овој проблем. Се надевам дека на сите ќе ви биде од корист и никогаш повеќе нема да ви се дига притисокот откако ќе споделите линк од вашиот сајт на фејсбук и кога ќе видите дека се споделил сосема трет наслов и сосема десетта сликичка. Да почнеме?

Чекор #1
Првата работа што треба да ја направите е да креирате фејсбук апликација.
https://developers.facebook.com/apps
Не би требало да имате некои потешкотии околу креирањето на фејсбук апликаци, нема некои посебни подесување, едноставно прогуглајте и ќе ви стане јасно, а доколку и понатаму не можете да се снајдете, слободно пишете во пост и ќе објаснам околу ова.

Чекор #2
Отворете го темплејт фајлот header.php во едиторот.
Каде што имате:
Код:
<html xmlns="http://www.w3.org/1999/xhtml" ...
Заменете со:
Код:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="https://www.facebook.com/2008/fbml">
Чекор #3
Во истиот фајл (header.php) некаде помеѓу <head></head> тагот внесете го следниов код:
Код:
<?php if (have_posts()):while(have_posts()):the_post(); endwhile; endif;?>
<!-- the default values -->
<meta property="fb:app_id" content="ИД-ТО НА ФБ АПЛИКАЦИЈА" />
<meta property="fb:admins" content="ИД-ТО НА АДМИН ПРОФИЛОТ" />
 
<!-- if page is content page -->
<?php if (is_single()) { ?>
<meta property="og:url" content="<?php the_permalink() ?>"/>
<meta property="og:title" content="<?php single_post_title(''); ?>" />
<meta property="og:description" content="<?php echo strip_tags(get_the_excerpt($post->ID)); ?>" />
<meta property="og:type" content="article" />
<meta property="og:image" content="<?php if (function_exists('wp_get_attachment_thumb_url')) {echo wp_get_attachment_thumb_url(get_post_thumbnail_id($post->ID)); }?>" />
 
<!-- if page is others -->
<?php } else { ?>
<meta property="og:site_name" content="<?php bloginfo('name'); ?>" />
<meta property="og:description" content="<?php bloginfo('description'); ?>" />
<meta property="og:type" content="website" />
<meta property="og:image" content="СЛИКА ШТО САКАШ ДА СЕ ПРИКАЖУВА КОГА ЌЕ СЕ СПОДЕЛИ УРЛ-то ОД САЈТОТ (не од објавата)" /> <?php } ?>

Доколку продолжи да ви прави проблеми, пробајте со овој код кај што ви е og:image:
Код:
<meta property="og:image" content="<?php if (function_exists('catch_that_image')) {echo catch_that_image(); }?>" />
Чекор #4 (внимавајте на овој чекор)
Отворете го фајлот functions.php во едиторот и некаде во функциите додадете го следниов код (внимавајте каде го ставате бидејќи може да дојде до проблеми со темата доколку не знаете што точно правите, одговорноста е ваша)
Код:
function catch_that_image() {
 
global $post, $posts;
 
$first_img = '';
 
ob_start();
 
ob_end_clean();
 
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
 
$first_img = $matches [1] [0];
 
if(empty($first_img)){
 
//Defines a default image
 
$first_img = "/images/дифолт-слика.jpg";
 
}
 
return $first_img;
 
}

Чекор #5
Вратете се на фајлот header.php и после <body> тагот вметнете:
Код:
<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'ИД-ТО НА ФБ АПЛИКАЦИЈАТА', status: true, cookie: true,
            xfbml: true});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>

И да ви напоменам дека откако ќе ги направите овие измени, фејсбук не го приметува тоа одма. Промените на фејсбук ќе се направат во рок од 24-48 часа, а можно е и повеќе.

Тоа е тоа, среќно!
 

Monstrum

Нов член
Зачленет/а
30 декември 2013
Мислења
23
Реакции
3
Ова уште важи? Некако комплицирано ми изгледа. Инаку го имам проблемов и корнам коси!
 

buli

Член
Зачленет/а
31 јануари 2013
Мислења
71
Реакции
13
И јас го имав проблемот, но појма немам како ги средив, само знам дека не ја користев оваа метода.
 
На врв Дно