انجمن


فراخوانی توابع ورد‍پرس  (۱۲ نوشته)

  • garfield

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۹۲
    تشکر شده: ۲۶۲ بار
    # نوشته شده: ۱۲ سال پیش
    ۱۹ خرداد ۱۳۸۷ - ۰۰:۰۹

    یک فایل php تنها و جدا از وردپرس ساخته م. می خوام توش از توابع وردپرس استفاده کنم.

    ولی توی فایل توابع تعریف شده نیستن و من این خطا رو می گیرم: «Fatal error: Call to undefined function».

    چطور باید تعریفشون کنم؟

  • Mohammad-Amiri

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۹
    # نوشته شده: ۱۲ سال پیش
    ۱۹ خرداد ۱۳۸۷ - ۰۱:۰۲

    خب فایلت رو به صورت پلاگین در بیار ...
    فکر کنم اینطوری بشه

  • skywalker

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۲
    تشکر شده: ۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۱۹ خرداد ۱۳۸۷ - ۲۰:۴۳

    در بالای کدت از این استفاده کن

    define('WP_USE_THEMES', false);
    require('./wp-blog-header.php');
  • garfield

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۹۲
    تشکر شده: ۲۶۲ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۰ خرداد ۱۳۸۷ - ۰۰:۱۵

    عمل نکرد. محتوای فایلم که تو شاخه ی اصلی قرار داره برای نمونه یه همچین چیزی شده:

    <?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

    ترجیه می دم فعلاً بصورت پلاگین درش نیارم.

  • skywalker

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۲
    تشکر شده: ۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۰ خرداد ۱۳۸۷ - ۰۰:۴۹

    گارفیلد عزیز :
    اولا من فکر نمی کنم ما تو کل ورد 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

    ;-)

  • garfield

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۹۲
    تشکر شده: ۲۶۲ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۰ خرداد ۱۳۸۷ - ۰۱:۲۳

    خوبه باز راه افتاد! داشتم ناامید می شدم. ممنون.

    حالا یه سوال: the_date فقط از تاریخ پستها استفاده می کنه؟

    من توابع آزادتری می خوام. مثلاً تاریخ امروز رو برگردونه (روز، ماه، سال؛ بصورت جدا جدا، مثل همین آرگومان d)

    یا با تاریخ ها بازی کنم. مثلاً چند روز عقب تر، چند روز جلوتر.
    یا براشون شرط بگذارم. مثلاً متوجه بشم چه تاریخی از تاریخ امروز جلوتره. که مثلاً فیلترش کنم.

    اینها هم همه به شمسی. (با نون اضافه! :P)

  • garfield

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۹۲
    تشکر شده: ۲۶۲ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۰ خرداد ۱۳۸۷ - ۰۱:۳۵

    البته دو تا تابع که تاریخ میلادی رو به شمسی و شمسی رو به میلادی تبدیل کنن کفایت می کنه. بقیه کارها رو می تونم با خود توابع php انجام بدم.

    یه مشکلی هم هست. خروجی تابع jdate اعداد فارسیه. چطوری می شه به انگلیسی تبدیلش کرد؟ تو ویژوال بیسیک با جا به جا کردن کد کاراکتر ها راحت این کار انجام می شد. تو php چه جوریه؟

  • skywalker

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۲
    تشکر شده: ۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۰ خرداد ۱۳۸۷ - ۰۲:۱۲

    از دو دو تابع زیر استفاده کنید.
    تابع اول شمسی رو به میلادی و دومی برعکس.
    ورودی تابع، به ترتیب : سال، ماه روز هست و خروجیش به صورت آرایه بر می گردونه که به همون ترتیبه.

    شما که برنامه نویسی بلدید و همونطوری که گفتی php هم بلدید ، با یه کم تحقیق می تونید جوابتون رو کاملتر پیدا کنید. و چیز بیشتری یاد بگیرید.

    jalali_to_gregorian($j_y, $j_m, $j_d)
    
    gregorian_to_jalali($g_y, $g_m, $g_d)
  • garfield

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۹۲
    تشکر شده: ۲۶۲ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۰ خرداد ۱۳۸۷ - ۰۶:۵۰

    نه داداش. من php بلد نیستم. فقط vb بلدم.

    دستت هم درد نکنه. خیلی حال دادی. @},-

    فعلاً گرفتار امتحانات شدم. پروژه م موند کنار. بر می گردم پی ش رو می گیرم. از همه ممنونم.

  • skywalker

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۲
    تشکر شده: ۶ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۱ خرداد ۱۳۸۷ - ۰۲:۲۵

    گارفیلد جان اگه از اول دقیقا بگی چی میخوای آدم راحت تر میتونه کمک کنه تا اینکه هی تیکه تیکه سوال کنی.
    لارم نبود توی یه تاپیک دیگه مطرح کنی ، اینم راه حل :

    echo jdate("Y m d","now",true);
  • garfield

    آفلاین
    عضو
    تعداد نوشته‌ها: ۷۹۲
    تشکر شده: ۲۶۲ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۱ خرداد ۱۳۸۷ - ۰۹:۰۷

    skywalker جان. دستت درد نکنه. @},-

  • گناهکار

    آفلاین
    کلیددار
    تعداد نوشته‌ها: ۳۵۳۵
    تشکر شده: ۲۵۴۴ بار
    # نوشته شده: ۱۲ سال پیش
    ۲۲ خرداد ۱۳۸۷ - ۰۱:۱۳

    skywalker جان، لطفن بند ششم از قوانین انجمن رو دوباره مطالعه کنین.

    پیشاپیش از همکاریتون ممنونم :)

درباره‌ی این موضوع