cancer
-
تعداد ارسالها
7 -
تاریخ عضویت
-
آخرین بازدید
نوشتهها ارسال شده توسط cancer
-
-
نه این که نوشتم ایمیل بشه یا echo کنه صرفا مثال بود
من فقط میخام که روی هر دکمه ای کلیک شد، id اون پست رو دریافت کنم و به عنوان ارگومان به یک تابع بفرستم، همین.
تا اینجا هم که الان نوشتم برای تمام دکمه ها کار میکنه، فقط مشکل دکمه اول لیسته
اون دکمه هایی با رنگ سبز مشخص کردم کاملا درست کار میکنن
فقط همون دکمه ای که با رنگ قرمز علامت گذاشتم کار نمیکنه (چون نمیدونم چرا تگ form برای اون اضافه نمیشه)اگرم راه دیگه میدونین که میشه با کلیک بر روی دکمه ها id پست مربوطه رو بتونم بفرستم به یک تابعی، ممنون میشم بگین
-
در 1 دقیقه قبل، mehran-b گفته است :
سلام و درود
آیدی پست رو چطور نمایش میده؟
id پست از طریق هوک manage_posts_custom_column به تابع ارسال میشه (به عنوان پارامتر دوم):
function display_column_content( $column, $post_id ) { if ($column == 'my_column'){ echo ' <form method="post"> <input type="hidden" name="postID" value="'.$post_id.'" /> <input type="submit" name="submit_getID" value="Get ID" class="button"> </form>'; } } add_action( 'manage_posts_custom_column' , 'display_column_content', 10, 2 );
بعد با استفاده از:
<input type="hidden" name="postID" value="'.$post_id.'" />
submit میشه و پس از reload صفحه توسط کد زیر از طریق $_POST دریافت میشه
if(isset($_POST['postID'])){ echo $_POST['postID']; // or do something with post id }
که بعدش در صورت ست شدن میشه به صورت
$_POST['postID']
برای مثال به عنوان آرگومان به تابع بفرستین
if(isset($_POST['postID'])){ // for example, post id can be used to send an email $postObj = get_post($_POST['postID']); send_this_post_to_my_email($postObj); }
اگه منظورتون چیز دیگه ای بود بگین اگه بتونم توضیح بدم
-
سلام من قصد داشتم که یک ستون به لیست مدیریت تمام پست ها (لیستی که وقتی روی تمام نوشته ها کلیک می کنین ظاهر میشه) اضافه کنم که این کارو تونستم با کد زیر انجام بدم
function add_myColumn( $columns ) { return array_merge( $columns, array( 'my_column' => 'Get Post ID' )); } add_filter( 'manage_posts_columns' , 'add_myColumn' ); function display_column_content( $column, $post_id ) { if ($column == 'my_column'){ echo ' <form method="post"> <input type="hidden" name="postID" value="'.$post_id.'" /> <input type="submit" name="submit_getID" value="Get ID" class="button"> </form>'; } } add_action( 'manage_posts_custom_column' , 'display_column_content', 10, 2 );
که همینطور که در تصویر زیر هم میبینین ستون به درستی ایجاد شده
من میخوام زمانی که روی هر دکمه کلیک شد، post_id اون پست رو دریافت کنم
برای همین من از یک <form> استفاده کردم که زمانی که sumbit میشه با کمک یه <input type="hidden"< تونستم id پست مربوطه رو از طریق کد زیر دریافت کنم که تا اینجا هم مشکلی نداشت
if(isset($_POST['postID'])){ echo $_POST['postID']; // or do something with post id }
اما مشکل کار اینجاست:
اون فرمی که من بالا گذاشتم که از طریق اون submit کنم برای تمام دکمه ها اعمال میشه به غیر از اولین دکمه لیست
یعنی زمانی که من Inspect Element میزنم html تمام دکمه ها به صورت زیر (فرم ایجاد شده):
ولی فقط برای اولین دکمه لیست به صورت زیر (بدون فرم):
اگه کسی از دوستان بتونه راهنمایی کنه که چرا برای اولین دکمه فرم ایجاد نمیشه (یا حداقل بگه که توی اینترنت چی سرچ کنم) ممنون میشم
-
مشکلم پیدا شد
درست می گفتین این کد مشکلی نداره
من خود این add_action() رو چون داخل یه شرطی میزاشتم که مشکلش اون شرطه بود
ممنونم وقت گذاشتین
-
ممنونم
ولی متاسفانه هیچ کدوم کار نمیکنه
برای تستشون داخل همین 2 تا نمونه کدی که شما فرستادی من دستورfile_put_contents("d:\\test.txt", "It's done!");
رو گذاشتم ولی هیچ فایلی ایجاد نشد
یک نفر هم مثه اینکه این رو به عنوان یه باگ (البته چند ساله پیش) گزارش داده
https://wordpress.org/support/topic/confirm-that-publish_future_post-hook-does-not-work/
شایدم باید پارامتر دیگه ای تنظیم بشه تا کار کنه
دوستان اگه تجربه ی استفاده از این هوک رو دارن ممنون میشم راهنمایی کنین -
سلام
برای اجرای یک تابع بعد از انتشار پستی که زمان بندی شده بود
باید از هوک publish_future_post استفاده کنم؟
چون من یه سرچ زدم هوک publish_future_post و future_to_publish رو پیدا کردم ولی جفتشون کار نمیکنن
یه هوک دیگه هم پیدا کردم به نام future_post که زمانی که روی دکمه «زمان بندی» کلیک میشه این اکشن اتفاق میفته
هوک دیگه ای اگه هستش برای این کار معرفی کنین ممنون میشم
افزودن ستون جدید به بخش مدیریت تمام پست ها (edit.php)
در برنامه نویسی داینامیک
ارسال شده در
با کمی تغییر این کد شما به نتیجه رسیدم
بازم ممنونم که وقت گذاشتین