mhscientist

اجرای MySQL query در فایل php خودم در وردپرس

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

دوستان عزیز، سلام.

وقتتون به خیر.

من برای وارد کردن یه مجموعه ی زیاد از پست ها، لازم دارم که اطّلاعات رو از یه جدولی در یک دیتابیس MySQL بخونم، و همزمان که دارم پست ها رو می سازم، دو باره اون جدول رو با مقادیر دیگه آپدیت کنم.

من کد php این کار رو زده ام، و تمام لینک های به دیتا بیس سالم هستند، و با XAMPP روی لوکال هاست امتحان ش کرده ام و به درستی کار می کنه.

(البته چون وردپرس نصب شده در لوکال هاست نداشتم، توابع مشابه wp_insert_post رو حذف کرده ام، و جاش echo گذاشته م)

امّا روی سرور سایتم (که cPanel داره نمی تونم (یا بگم: نمی دونم چه جوری باید) این کد رو اجرا کنم.

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

امّا همه ش ارور 500 می گیرم، و داخل فایل error_log هم خبر خاصّی نیست.

ایده ای دارین این کار رو چه جوری انجام بدم؟

یا این که این مشکل رو برطرف کنم؟

(شاید راه دیگه ای بهتر باشه، ولی لطفا کامل توضیح بدین، چون فقط همین یه راه خودم رو تونستم یاد بگیرم!)

با سپاس پیشاپیش بسیار،

اوقات به کام.

0

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


لینک به پست

این فراخوانی و بعدبروزرسانی عملیاتش با هم هست؟

1

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


لینک به پست

این فراخوانی و بعدبروزرسانی عملیاتش با هم هست؟

بله.

ابتدا خواستم این مشکل رو با جایگزین کردن MySQL Query ها با توابع کلاس wpdb انجام بدم، که همه ش اروری مشابه این می گرفتم:

Fatal error: Call to undefined function wp_insert_post() in /home/.../public_html/Postmaker3.php on line 94

برای همین باز به همون کد با مای اس کیو ال کوئری های خودم رجوع کردم، و داخل پوشه ی اصلی گذاشتمش،

با این تفاوت که غیر از write permission، همگی رو یک کردم.

و این بار اون مشکل حل شد،

ولی هنوز نفهمیدم چرا با wpdb (حتی برای نمونه کد های خود وردپرس) اون ارور رو می گرفتم.

ممنون.

0

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


لینک به پست

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

چون الان توی خطایی که گرفته یک فایل در روت شماست

0

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


لینک به پست

سلام . ایا میشه توابع وردپرس و کوئری ها رو در خارج از وردپرس و خارج از پوسته وردپرس در روت اصلی هاست استفاده کرد؟ . اگر میشه طرز استفادش چه جوریه؟

0

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


لینک به پست

توابع و کوئری های وردپرس فقط داخل وردپرس قابل احرا هستند.. قصد انجام چه کاری رو دارید؟

0

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


لینک به پست

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

حقیقتش یه فایل php در روت اصلی هاستدرست کردم و صفحه مربوطه رو به دو قسمت تقسیم کردم که یه قسمتش سایتی هست که میخوام در اون نمایش داده بشه و یه قسمت هست که میخوام از توابع وردپرس استفاده کنم مثلا از کوئری .

البته اضافه کنم که با ای فریم تونستم اون قسمت رو که سایت مورد نظر رو نشون میده لینک کنم اما اون یکی قسمت که ای فریم میذارم تا یه صفحه از وردپرس رو نشون بده به خوبی انجام نمیشه . در واقع ای فریم کار میکنه ولی توی صفحه به صورت ناقص دیده میشه . مطمئنا عیب از کد هاست .

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

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

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


لینک به پست

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

سلام

ارور 500 به خاطر فشار زیاد و مصرف منابع بیش از حد مجاز سرور رخ میدهد.

شما برای کوئری که اطلاعات را از جدول میخونه limit بذارید و این کار را در چند مرحله انجام دهید.


select * from post limit 0,1000


select * from post limit 1000,2000

ویرایش شده در توسط Ghasem Paran
0

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


لینک به پست

برای استفاده از قابلیت های وردپرس در خارج از شاخه اصلی میتونید فایل wp-blog-header.php رو در فایل موردنطرتون اینکلود کنید

1

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط oghyanoos98
      سلام
      پلاگین برای وردپرس مانند سایت idigic رو میخواستیم برای فروش فالوور و لایک اینستاگرام
       فقط بخش سفارششو میخوایم سایت رو داریم خودمون، که اطلاعات یوزر رو از اینستا بگیره مثل سایت بالا و  به ای پی ای ما وصل شه و سفارشش رو اتومات ثبت کنه .
      ممنون
    • توسط masoudmosleh267
      سلام دوستان عزیز. امیدوارم که حالتون خوب باشه. من میخوام جایگاه توضیحات دسته بندی محصولات که تو پوسته بالای محصولات نشون میده رو ببرم پایین محصولات. مثل دیجی کالا. متن توضیحاتم کامل نشون نده و با زدن بیشتر کامل نشون بده. کی میتونه کمکم کنه؟ فایل ووکامرس باید تغییر کنه یا قالبم؟
    • توسط foojiteam
      سلام دوستان خسته نباشید
      سایت من یکدفعه دچار افت سرعت شد  پیشخوان وردپرس خیلی سخت باز میشه قالب ها رو عوض کردم بازم سرعت کنده افزونه ها رو غیر فعال کردم باز سرعت کمه
      به پشتیبانی هاست میگم میگه هاست مشکلی نداره مشکل از افزونه ها و وردپرسه (من وردپرس رو از اول نصب کردم همه افزونه ها رو پاک کردم و فقط چندتا افزونه که لازمه مثله فرم تماس 7 ، کپچا، ووکامرس و ویرتیشگر کلاسیک رو فعال کردم)
      کمک کنید ممنون
      آدرس سایت https://fooji.ir
    • توسط Mrbugx
      سلام
      دوستان عزیز من با کد زیر اطلاعاتم رو توی دیتابیس به راحتی سیو می کنم
      $connection = mysql_connect("localhost", "TABLE","PASSWORD"); // ایجاد ارتباط با سرور $db = mysql_select_db("DB NAME", $connection); // انتخاب دیتابیس از روی سرور if(isset($_POST['submitted'])){ // دریافت ورودی های فرم و قرار دادن در متغیر $namekala = $_POST['namekala']; $namecompany = $_POST['namecompany']; $maghta = $_POST['maghta']; $zekhamat = $_POST['zekhamat']; $price = $_POST['price']; $status = $_POST['status']; $category = $_POST['category']; $updatedate = $_POST['updatedate']; $tozihatefani = $_POST['tozihatefani']; $keyword = $_POST['keyword']; $pic = $_POST['pic']; $image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); //SQL Injection defence! $image_name = addslashes($_FILES['image']['name']); if($namekala !=''||$namecompany !=''||$maghta !=''||$zekhamat !=''||$price !=''||$status !=''||$category !=''||$updatedate !=''||$tozihatefani !=''||$keyword !=''){ //Insert Query of SQL $query = mysql_query("insert into mahsool(namekala, namecompany, maghta, zekhamat,price,status,category,updatedate,tozihatefani,keyword,pic) values (N'$namekala', N'$namecompany', N'$maghta', N'$zekhamat', N'$price', N'$status', N'$category', N'$updatedate', N'$tozihatefani', N'$keyword', N'$pic',)"); حالا اگه بخوام پست آی دی رو ذخیره کنم چه باید بکنم ؟
      ممنون میشم راهنمایی جامع بکنید مرسی
    • توسط MohamamdZarei
      سلام،
      در حال ساخت یک قالب آموزشی هستم. در صفحات دوره، لیست دوره ها رو قرار دادیم که کاربر ( بعد از شرایطی ) بر روی محتوا و درس مورد نظرش کلیک کنه و صفحه به قسمت ویدیوپلیر اسکرول بشه ولینک این درس با لینک قبلی جایگزین بشه ( با js ).
      مشکلمون در حقیقت اینه که اون  "بعد از شرایطی"  رو دقیقا نتونستیم اجرا کنیم. مشکل اینجاست که بعضی از درس های دوره رایگان هستند و همه کاربران ( چه خریدار و چه بازدیدکننده) میتوانند این ویدیو را ببینند. خریدار دوره نیز میتواند همه درس ها را ببیند. برای قرار دادن اطلاعات دروس در صفحه قالب ، از افزونه Advanced Custom Fields و قابلیت Nested Repeaters استفاده شده است. شرط هایی که قرار میدیم همش غلطه
      <ul class="course-accordion"> <?php if( have_rows('chapters') ): ?> <?php while( have_rows('chapters') ): the_row(); ?> <li class="accordion-option opened"> <div class="option-title"><?php the_sub_field('chapter'); ?></div> <div class="option-wrapper"> <ul class="option-items"> <?php if( have_rows('lessons') ): ?> <?php while( have_rows('lessons') ): the_row(); ?> <?php if( have_rows('lesson') ): ?> <?php while( have_rows('lesson') ): the_row(); ?> <li class="option-item"><a><?php if (the_sub_field('Lfree') == "True") { echo '1'; } else { echo '2'; } ?></a> <div class="pull-right"><span class="duration"></span><a href="#"><i class="zmdi zmdi-hc-2x"></i></a> </div> <a href="#"><?php echo the_sub_field('Lname'); ?></a></li> <?php endwhile; ?> <?php endif; ?> <?php endwhile; ?> <?php endif; ?> </ul> </div> </li> <?php endwhile; ?> <?php endif; ?> </ul> Lfree برای هر درس تعیین شده که برای این قرار گرفته که اگه این درس رایگان بود لینکش قابل دسترسی باشه. مشکل اینجاست وقتی مقدار Lfree برای هر درس رو چاپ می کنیم یه عبارت مشخصه. بعد شرط if میزاریم که اگر مساوی با اون عبارت بود... اما همیشه شرط غلط اجرا میشه. بنظرم باید مربوط به حلقه while و اینجور چیزا باشه
      ممنون از پاسختون