• اطلاعیه ها

    • Morteza

      باهم بسازیم: اطلس ووکامرس و وردپرس   14/07/96

      تاپیک ایجاد شده برای بحث در جهت ایجاد یک منبع، ویکی، صفحات توضیحی و یا بخش آموزشی جامع برای وردپرس و متعلقات مختلف آن است. لطفا جهت مشارکت در این بحث، ارائه پیشنهاد و یا انتقاد به تاپیک فوق مراجعه کنید. باهم بسازیم: اطلس ووکامرس و وردپرس
m.Mosibat

حل یک مشکل در کد opengraph

8 پست در این موضوع قرار دارد

سلام

من با استفاده از کد زیر در فایل functions.php متاهای opengraph را به مطالب سایت اضافه میکنم.


<?php
//Adding the Open Graph in the Language Attributes
function add_opengraph_doctype( $output ) {
return $output . ' xmlns:og="http://opengraphprotocol.org/schema/" xmlns:fb="http://www.facebook.com/2008/fbml"';
}
add_filter('language_attributes', 'add_opengraph_doctype');
//Lets add Open Graph Meta Info
function insert_fb_in_head() {
global $post;
if ( !is_singular()) //if it is not a post or a page
return;
echo '<meta property="og:title" content="' . get_the_title() . '"/>';
echo '<meta property="og:type" content="article"/>';
echo '<meta property="og:url" content="' . get_permalink() . '"/>';
echo '<meta property="og:site_name" content="Site Name"/>';
if(!has_post_thumbnail( $post->ID )) { //the post does not have featured image, use a default image
$default_image="image url"; //replace this with a default image on your server or an image in your media library
echo '<meta property="og:image" content="' . $default_image . '"/>';
}
else{
$thumbnail_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' );
echo '<meta property="og:image" content="' . esc_attr( $thumbnail_src[0] ) . '"/>';
}
echo "
";
}
add_action( 'wp_head', 'insert_fb_in_head', 5 );
?>

مشکلی که دارم این کد برای تصویر از تصویر شاخص استفاده میکنه ولی مطالب سایت من هیچ کدومش تصویر شاخص ندارن و قالبمم اصلاً از تصویر شاخص پشتیبانی نمیکنه.

میخوام بجای تصویر شاخص اولین عکس موجود در پست رو بعنوان متای og:image قرار بده.

کسی میتونه کد رو برام دستکاری کنه ؟

0

به اشتراک گذاری این پست


لینک به پست

شما در پوسته تون این کد رو دارید؟ تصویر شاخص اولین عکس موجود در پست

1

به اشتراک گذاری این پست


لینک به پست

شما در پوسته تون این کد رو دارید؟ تصویر شاخص اولین عکس موجود در پست

اگر منظورتون این کده :


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/default.jpg";
}
return $first_img;
}

امتحان کردم اما نشد.

0

به اشتراک گذاری این پست


لینک به پست

echo '<meta property="og:image" content="' . $default_image . '"/>';

بشه

$default_image = catch_that_image();
echo '<meta property="og:image" content="' . $default_image . '"/>';

1

به اشتراک گذاری این پست


لینک به پست


echo '<meta property="og:image" content="' . $default_image . '"/>';

بشه

$default_image = catch_that_image();
echo '<meta property="og:image" content="' . $default_image . '"/>';

صفحه مطالبم بعد از تغییر دیگه لود نمیشه !

امکانش هست کد کل رو تست کنید و بزارید ؟

0

به اشتراک گذاری این پست


لینک به پست

خط میده یا چیز دیگه؟

کد بالا که مشکلی نداره

0

به اشتراک گذاری این پست


لینک به پست

خط میده یا چیز دیگه؟

کد بالا که مشکلی نداره

نه خطا نمیده فقط صفحه سفید میشه و چیزی لود نمیشه و فقط برای صفحه پستها هم اینجوری میشه .

0

به اشتراک گذاری این پست


لینک به پست

خوب صفحه سفید یعنی خطا

فایل error_log رو باز کنید (در روت) بعد چند خط آخر رو بزاید اینجا

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری