یک فایل php تنها و جدا از وردپرس ساخته م. می خوام توش از توابع وردپرس استفاده کنم.
ولی توی فایل توابع تعریف شده نیستن و من این خطا رو می گیرم: «Fatal error: Call to undefined function».
چطور باید تعریفشون کنم؟
یک فایل php تنها و جدا از وردپرس ساخته م. می خوام توش از توابع وردپرس استفاده کنم.
ولی توی فایل توابع تعریف شده نیستن و من این خطا رو می گیرم: «Fatal error: Call to undefined function».
چطور باید تعریفشون کنم؟
خب فایلت رو به صورت پلاگین در بیار ...
فکر کنم اینطوری بشه
در بالای کدت از این استفاده کن
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
عمل نکرد. محتوای فایلم که تو شاخه ی اصلی قرار داره برای نمونه یه همچین چیزی شده:
<?php
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
echo '<img src="s.png">';
echo the_jdate("d");
?>
هنوز می گه
Fatal error: Call to undefined function the_jdate() in E:\garfield\xampp\htdocs\test.php on line 8
ترجیه می دم فعلاً بصورت پلاگین درش نیارم.
گارفیلد عزیز :
اولا من فکر نمی کنم ما تو کل ورد function ی به نام the_jdate() داشته باشیم.
دوما function هایی که با the_ شروع می شن باید درون یه لوپ وردپرسی قرار بگیرن ، یعنی اول باید یه لوپ بسازی که مشخص بشه چه پست هایی رو با چه مشخصاتی می خوای با دستورهایی مثل get_posts و query_posts و بعد نمایش بدی.
شما اگه می خوای تاریخ فارسی نمایش بدی از فانکشن the_date() استفاده کن ، وقتی پلاگین wp-jalali فعال باشه ، این فانکشین تاریخ فارسی بر میگردونه.
مثال :
کد زیر رو عینا توی یه فایل ذخیره کن، یخاطر ویرگول های فارسی فایل رو باید utf-8 سیو کنی.
این کد لیست همه ی پست ها به همراه تاریخشون رو توی یه جدول نشون می ده.
<?php
define('WP_USE_THEMES', false);
require('./wp-blog-header.php');
?>
<?php
global $post;
$myposts = get_posts();
echo "<table align=\"right\">";
foreach($myposts as $post) : setup_postdata($post);
echo "<tr><td>";
echo the_date('l\، j F\، Y');
echo "</td><td>";
echo "<a href=\"";
the_permalink();
echo "\">";
the_title();
echo "</a></td></tr>";
endforeach;
echo "</table>";
?>
:-) *-:)
Saying "Thanks" is not that hard
;-)
خوبه باز راه افتاد! داشتم ناامید می شدم. ممنون.
حالا یه سوال: the_date فقط از تاریخ پستها استفاده می کنه؟
من توابع آزادتری می خوام. مثلاً تاریخ امروز رو برگردونه (روز، ماه، سال؛ بصورت جدا جدا، مثل همین آرگومان d)
یا با تاریخ ها بازی کنم. مثلاً چند روز عقب تر، چند روز جلوتر.
یا براشون شرط بگذارم. مثلاً متوجه بشم چه تاریخی از تاریخ امروز جلوتره. که مثلاً فیلترش کنم.
اینها هم همه به شمسی. (با نون اضافه! :P)
البته دو تا تابع که تاریخ میلادی رو به شمسی و شمسی رو به میلادی تبدیل کنن کفایت می کنه. بقیه کارها رو می تونم با خود توابع php انجام بدم.
یه مشکلی هم هست. خروجی تابع jdate اعداد فارسیه. چطوری می شه به انگلیسی تبدیلش کرد؟ تو ویژوال بیسیک با جا به جا کردن کد کاراکتر ها راحت این کار انجام می شد. تو php چه جوریه؟
از دو دو تابع زیر استفاده کنید.
تابع اول شمسی رو به میلادی و دومی برعکس.
ورودی تابع، به ترتیب : سال، ماه روز هست و خروجیش به صورت آرایه بر می گردونه که به همون ترتیبه.
شما که برنامه نویسی بلدید و همونطوری که گفتی php هم بلدید ، با یه کم تحقیق می تونید جوابتون رو کاملتر پیدا کنید. و چیز بیشتری یاد بگیرید.
jalali_to_gregorian($j_y, $j_m, $j_d)
gregorian_to_jalali($g_y, $g_m, $g_d)
نه داداش. من php بلد نیستم. فقط vb بلدم.
دستت هم درد نکنه. خیلی حال دادی. @},-
فعلاً گرفتار امتحانات شدم. پروژه م موند کنار. بر می گردم پی ش رو می گیرم. از همه ممنونم.
گارفیلد جان اگه از اول دقیقا بگی چی میخوای آدم راحت تر میتونه کمک کنه تا اینکه هی تیکه تیکه سوال کنی.
لارم نبود توی یه تاپیک دیگه مطرح کنی ، اینم راه حل :
echo jdate("Y m d","now",true);
skywalker جان. دستت درد نکنه. @},-
skywalker جان، لطفن بند ششم از قوانین انجمن رو دوباره مطالعه کنین.
پیشاپیش از همکاریتون ممنونم :)