saeedagha 23 ارسال شده در مرداد 92 گزارش بازنشر ارسال شده در مرداد 92 باسلام خدمت دوستان!می خواهم برای هر نوشته یک شماره 10 رقمی قرار بدم که در همان نوشته به نمایش در بیاید و همچنین در قسمت نوشته ها در پیشخوان یک ستون اضافه شود و در جلوی هر نوشته شماره 10 رقمی همان نوشته را نشان دهدممنون می شوم از دوستان کسی کمک نمایداون شماره میتونه به صورت تصادفی نشون داده بشه یا تاریخ و ای دی نوشته رو به صورت پشت یرهم نمایش بدهتعداد ارقام مهم نیست مثلا 11 یا 12 تا هم شد ایراد نداره یا کمتر نقل قول لینک به ارسال
omid0098i 2536 ارسال شده در مرداد 92 گزارش بازنشر ارسال شده در مرداد 92 خب برای این کار میتونید از زمینه ی دلخواه استفاده کنید .توی انجمن توضیح داده شده چجور عمل کنید دوست عزیز 5 نقل قول لینک به ارسال
saeedagha 23 ارسال شده در مرداد 92 مالک گزارش بازنشر ارسال شده در مرداد 92 (ویرایش شده) خب برای این کار میتونید از زمینه ی دلخواه استفاده کنید .توی انجمن توضیح داده شده چجور عمل کنید دوست عزیزنه می خوام اتوماتیک یک شماره منحصر به فرد اختصاص بده و توی قسمت نوشته ها در یک ستون جلوی هر نوشته نمایش داده بشهشماره می تونه ترکیبی از ایدی نوشته به همراه زمان باشه ولی به صورت متصل تا بدین شکل یک شماره منحصر به فرد برای هر نوشته وجود داشته باشد ویرایش شده مرداد 92 توسط saeedagha نقل قول لینک به ارسال
alireza1375 892 ارسال شده در مرداد 92 گزارش بازنشر ارسال شده در مرداد 92 این کد به درد شما می خوره.این کد را در قسمت دلخواه single.php قرار دهید.kod khabar:<?php the_ID(); ?>و بعد برای اینکه این کد را در پنل مدیریت خود ببینید از افزونه WP Show IDs استفاده کنید. 3 نقل قول لینک به ارسال
saeedagha 23 ارسال شده در مرداد 92 مالک گزارش بازنشر ارسال شده در مرداد 92 (ویرایش شده) این کد به درد شما می خوره.این کد را در قسمت دلخواه single.php قرار دهید.kod khabar:<?php the_ID(); ?>و بعد برای اینکه این کد را در پنل مدیریت خود ببینید از افزونه WP Show IDs استفاده کنید.ای دی نوشته یک کد یک یا دو سه رقمی است منظور من ترکیبی از تاریخ به همراه ای دی بود مثلا یک همچین عدد ی1392052089که هشت رقم اول تاریخ یعنی 20 مرداد 92 و عدد 89 هم به عنوان ای دی نوشتهتوجه کنید که این یک شماره منحصر به فرد میشه چون ای دی منحصر به فرد استحالا این اعداد را چگونه برای هر پست اختصاص بدهم و همچنین در قسمت نوشته ها در پبشخوان هم نمایش داده شودممنون ویرایش شده مرداد 92 توسط saeedagha نقل قول لینک به ارسال
isk 4447 ارسال شده در مرداد 92 گزارش بازنشر ارسال شده در مرداد 92 از تابع rand نباید استفاده بشه - چون با هر بار رفرش شدن تغییر خواهد کرد. پس:اول متاباکسی می سازید به اسم مثلاً : serialpostبعد متغیری تعیین می کنید که دو بخش داره:<?php echo get_the_date(Ymd) , get_the_ID(); ?>این تابع اول تاریخ و بعد آی دی پست رو میاره که همیشه ثابتند - می تونید هر فرمول محاسباتی بهش بدید مثل جمع و ضرب تا طولانی تر بشه (گرچه توصیه نمیشه)حالا باید کاری کنید که در زمان انتشار پست ، مقدار متاباکس به طور خودکار مقدارشو از این متغیر بگیره که محول میشه به تعریف تابعی در فایل فانکشن با خاصیت:wp_is_post_revision($post_ID)تا اینجا رو برید جلو - بعد می رسیم به نمایش متا باکس در پنل ادمین 3 نقل قول لینک به ارسال
saeedagha 23 ارسال شده در مرداد 92 مالک گزارش بازنشر ارسال شده در مرداد 92 (ویرایش شده) با تشکر از دوستانتا اینجا پیش رفتم که با استفاده از <?php echo get_the_date(Ymd) , get_the_ID(); ?> به هر نوشته یک شماره اختصاص دادماما شیوه ساخت متاباکس رو بلد نبودم توی انجمن اگه جایی توضیح داده شده ممنون میشم راهنماییی کنیدیا همینجا توضیح بدهید (آشنایی با برنامه نویسی مبتدی )متا باکس همون زمینه دلخواه هست؟اگه همونه من از این $values = get_post_custom_values("serialpost"); echo $values[0];استفاده میکنم ویرایش شده مرداد 92 توسط saeedagha نقل قول لینک به ارسال
isk 4447 ارسال شده در مرداد 92 گزارش بازنشر ارسال شده در مرداد 92 (ویرایش شده) خب اولین کار اینه که یک زمینه دلخواه با مقداری که در پست 6 آمده تولید کنیم.تابع زیر این امکان را می دهد که بدون آنکه بطور دستی زمینه دلخواه را در پست ایجاد کنید و سپس به آن مقدار دهید، هر دو کار را بصورت خودکار انجام میدهد. یعنی وقتی پست منتشر می شود بصورت خودکار زمینه دلخواه را تولید کرده و به آن مقدار می دهد: در اینجا نام زمینه دلخواه را برابر serialpost گرفته ام:function add_serialpost_custom_field($post_ID) {global $wpdb;if(!wp_is_post_revision($post_ID)) {add_post_meta($post_ID, 'serialpost','1',true);$isk = get_the_date(Ymd).get_the_ID();update_post_meta($post_ID,'serialpost',$isk);}}add_action('publish_post', 'add_serialpost_custom_field');کار تمام شد - از این به بعد شماهر پستی را که تولید کنید، برای آن پست زیمنه دلخواه serialpost با مقدار ترکیبی تاریخ انتشار و آی دی پست تولید می کند. علاوه بر آن برای پست های قبلی هم به شر آنکه مجدداً ذخیره شوند همین کار را انجام خواهد داد.در کد بالا مقدار اولیه را برایر یک گرفتم تا دوستانی که تمایل به توسعه دارند بتوانند انجام دهند.اما برای اینکه این serialpost یا هر زمینه دلخواه دیگر در پنل ادمین و در یک ستون نمایش داده شود دو تابع زیر استفاده گردد:function add_new_column_to_admin_pannel( $column ) { $column['serial'] = 'Serial'; return $column;}add_filter( 'manage_posts_columns', 'add_new_column_to_admin_pannel' );function add_value_to_above_column( $column_name, $post_id ) {$custom_fields = get_post_custom( $post_id );switch ($column_name) { case 'serial' : echo $custom_fields['serialpost'][0] . ''; break; default: }}add_filter( 'manage_posts_custom_column', 'add_value_to_above_column', 10, 2 );که البته می توایند با array ستون های دیگری نیز اضافه نمایید. ویرایش شده مرداد 92 توسط isk 3 نقل قول لینک به ارسال
saeedagha 23 ارسال شده در مرداد 92 مالک گزارش بازنشر ارسال شده در مرداد 92 (ویرایش شده) برای نوشته هایی که قبلا منتشر شدهاند نمیشه کاری کرد؟ممنون از همهدوستان واقعا مثل همیشه عالی هستین ویرایش شده مرداد 92 توسط saeedagha نقل قول لینک به ارسال
isk 4447 ارسال شده در مرداد 92 گزارش بازنشر ارسال شده در مرداد 92 یکی از راه های کلی و ساده اینه که کوئری مناسبی برای دیتابیس بنویسید. مثلاً:INSERT INTO wp_postmeta (post_id, meta_key, meta_value)SELECT wp_posts.ID, 'serialpost', '10'FROM wp_postsWHERE wp_posts.post_status = 'publish' and wp_posts.post_type = 'post';اما این کوئری بهتمام پست ها زمینه دلخواه با مقدار ثابت مثلاً 10 رو اضافه می کنه که با صورت مسئله شما فرق داره.راه دیگه اینه که از افزونه های بالک آپدیت استفاده بشه که اکثر این افزونه ها هم مستقیماً روی دیتابیس می نویسند و توابع رو اجرا نمی کنند - پس باز هم به صورت مسئله شما فرق داره.راه سوم اینه که در پنل ادمین همه ی پست ها رو انتخاب کنید - کارهای دسته جمعی رو انتخاب کنید - همه پست ها رو به حالت پیش نویس ببرید - ذخیره کنید و مجدداً همه اونها رو هم به همین ترتیب به حالت منتشر شده برگردونید. اما طبق اون اتفاقی که در post.php و edit.php تعریف شده باز هم در این صورت توابع اجرا نمیشن. پس باز هم با صورت مسئله شما تفاوت داره.راه چهارم اینه که نوشته های قبلی رو تک به تک باز کرده و کلید به روزرسانی رو کلیک کنید که در اینصورت توابع اجرا میشن. اما با زمان بری بالا!راه پنجم اینه که پست ها رو به زباله دانی منتقل و سپس تک به تک بازیابی کنید. در این صورت توابع اجرا میشن. با زمان بری کمتر نسبت به راه چهارم! 3 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .