4M!R

زمان انتشار و Rich Snippets | Structured Data

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

ارسال شده در (ویرایش شده)

سلام دوستان

از اونجایی که پلاکین تاریج جلالی تاریخ انتشار مطلب رو فارسی می کنه من وقتی از Rich Snippets | Structured Data استفاده می کنم برای مطالبم

چون مقدار datePublished: ۱۳۹۴-۹-۹ ۱۶:۲۹:۵۳ +۰۳:۳۰ فارسی هستش برام خطا می گیره که زمان انتشار درست نیست

چطوری می تونم با وجود فعال بودن افزونه جلالی تاریخ میلادی بگیرم تو سورس؟

ویرایش شده در توسط p47ri0t
0

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


لینک به پست

میتوند کدتون رو بزارید اینجا؟

همین مشکل رو با افزونه سئو داشتیم که حل ش کرده بودیم.

1

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


لینک به پست

ارسال شده در (ویرایش شده)

من از افزونه وردپرس فارسی (افزونه جلالی استفاده می کنم)

انیم کد فراخوانی :



<?php the_time('d M Y'); ?>


ویرایش شده در توسط p47ri0t
0

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


لینک به پست

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

چه بسته پارسی ساز و چه جلالی، شما میتونید این کد رو به تاریخ استانداد موردنظر برگردان کنید

0

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


لینک به پست

اقا مرتضی مشکل من اینه که خروجی این کد تاریخ شمسیه که گوگل بهش گیر میده من میخوام خروجی میلادی بگیرم و افزونه جلالی هم فعال باشه امکانش هست؟

ممنون میشم راهنمایی کنید

0

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


لینک به پست

این مشکلم رو هم اخرش با جستجو حل کردم و میذارم شاید یه بنده خدایی مثل من همین مشکل رو یه روز داشته باشه

من از افزونه wp-postrating استفاده می کنم که یه افزونه امتیاز دهی به مطلب هستش که تاریخ انتشار و .... رو هم تو نتایج گوگل نمایش میده از اونجایی که تاریخ بهخاطر نصب بودن افزونه جلالی فارسی بود تو تست https://developers.google.com/structured-data/testing-tool/ با ارور مواجه میشد

که با ویرایش فایل wp-postratings/wp-postratings.php تونستم مقدارشو به میلادی تغییر بدم

سطری رو که باید تغییر بدین


$post_meta .= '<meta itemprop="datePublished" content="' . get_the_time( 'c' ) . '" />';

به این تغییر بدین و تست کنید


$post_meta .= '<meta itemprop="datePublished" content="' . date("c",strtotime($post->post_date)) . '" />';

یا حق

3

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


لینک به پست
در در 12/3/2015 at 03:06، 4M!R گفته است :

این مشکلم رو هم اخرش با جستجو حل کردم و میذارم شاید یه بنده خدایی مثل من همین مشکل رو یه روز داشته باشه

من از افزونه wp-postrating استفاده می کنم که یه افزونه امتیاز دهی به مطلب هستش که تاریخ انتشار و .... رو هم تو نتایج گوگل نمایش میده از اونجایی که تاریخ بهخاطر نصب بودن افزونه جلالی فارسی بود تو تست https://developers.google.com/structured-data/testing-tool/ با ارور مواجه میشد

که با ویرایش فایل wp-postratings/wp-postratings.php تونستم مقدارشو به میلادی تغییر بدم

سطری رو که باید تغییر بدین

 

 

$post_meta .= '<meta itemprop="datePublished" content="' . get_the_time( 'c' ) . '" />';

 

به این تغییر بدین و تست کنید

 

 

$post_meta .= '<meta itemprop="datePublished" content="' . date("c",strtotime($post->post_date)) . '" />';

 

یا حق

سلام دوست عزیز، کد

date("c",strtotime($post->post_date) 

برای شما به درستی کار کرد؟

چون وقتی من از این کد استفاده میکنم با این که ارور structured-data رو حل میکنه، اما مقداری نامعلوم مانند 

1970-01-01T03:30:00+03:30

ثبت میکنه

0

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


لینک به پست

شما post_date روخروجی بگیرید ببینید چی میده؟

1

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


لینک به پست
در 9 دقیقه قبل، Morteza گفته است :

شما post_date روخروجی بگیرید ببینید چی میده؟

به این ترتیت ؟ 

echo $post_date;

چیزی نشون نمیده. یه جورایی خالیه

0

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


لینک به پست

ارسال شده در (ویرایش شده)

در 31 دقیقه قبل، reza_5180 گفته است :

به این ترتیت ؟ 


echo $post_date;

چیزی نشون نمیده. یه جورایی خالیه

اگر خالیه حتما توی حلقه اصلی نیستید.

باید ببنید آبجکت wp_query توی چه متغییری ریحته شده.

توی کدهای بالاتر از اینجایی که هستید دنبال همچین چیزی بگردید:

$query = new WP_Query($args);

البته امکان داره $query یه چیز دیگه باشه.

ویرایش شده در توسط mehran-b
1

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


لینک به پست
در 20 دقیقه قبل، mehran-b گفته است :

اگر خالیه حتما توی حلقه اصلی نیستید.

باید ببنید آبجکت wp_query توی چه متغییری ریحته شده.

توی کدهای بالاتر از اینجایی که هستید دنبال همچین چیزی بگردید:


$query = new WP_Query($args);

البته امکان داره $query یه چیز دیگه باشه.

منظورتون این خطه؟ این خط داخل همون فایل نبود. تو فایل دیگه ای بود. 

$doctor_query = new WP_Query($args);

 

0

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


لینک به پست

ارسال شده در (ویرایش شده)

خوب شاید همین باشه البته شاید.

اون جایی که میخواید کد

date("c",strtotime($post->post_date)

رو بذارید ابتدا جای کد بالا

<?= $post->post_date; ?>

و

<?= $doctor_query->post->post_date; ?>

بذارید ببنید کدومشون یه چیزی تو مایه های زیر:

0000-00-00 00:00:00

خروجی میده هر کدوم خروجی داد همونو بذارید جای

$post->post_date

در تابع date.

ویرایش شده در توسط mehran-b
1

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


لینک به پست

ممنون از پاسختون

کد زیر که از قبل بودش، و 1970 رو نشون میده.

در 16 دقیقه قبل، mehran-b گفته است :

<?= $post->post_date; ?>

 

کد زیر هم امتحان کردم. و همون 1970 رو نشون داد

در 16 دقیقه قبل، mehran-b گفته است :

<?= $doctor_query->post->post_date; ?>

 

نظری دارید؟

0

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


لینک به پست

راستی اینم اضافه کنم که اگه تیک گزینه  ” تاریخ تمامی بخش‌های وردپرس از میلادی به شمسی تبدیل شود. ” در افزونه جلالی رو بردارم در همون حالت اولیه که در زیر نوشتم، درست میشه

$date = get_the_date('c');

 

0

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


لینک به پست

ارسال شده در (ویرایش شده)

خوب پس اگر اینطوریه اینو تست کنید جواب میده.

اون تیک رو بزنید به جاش این کار رو میکنیم.

کدی رو که دادید با کد زیر جایگزین کنید:

remove_filter('date_i18n', 'ztjalali_ch_date_i18n', 111, 4); $date = get_the_date('c'); add_filter('date_i18n', 'ztjalali_ch_date_i18n', 111, 4);

البته اینا باید توی تگ شروع و پایان php باشه اینم حواستون باشه.

ویرایش شده در توسط mehran-b
2

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


لینک به پست
در 38 دقیقه قبل، mehran-b گفته است :

خوب پس اگر اینطوریه اینو تست کنید جواب میده.

اون تیک رو بزنید به جاش این کار رو میکنیم.

کدی رو که دادید با کد زیر جایگزین کنید:


remove_filter('date_i18n', 'ztjalali_ch_date_i18n', 111, 4); $date = get_the_date('c'); add_filter('date_i18n', 'ztjalali_ch_date_i18n', 111, 4);

البته اینا باید توی تگ شروع و پایان php باشه اینم حواستون باشه.

خیلی ممنونم. درست شد

1

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


لینک به پست

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

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

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

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


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

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

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


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