eepersian

بهترین الگوریتم برای پیاده سازی وب سایت نقد و بررسی خودرو چیست ؟

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

می خوام یک پوسته برای یک وب سایت نقد و بررسی خودرو درست کنم

بخش هایی که هر خودرو داره اینا هستن :

1-بخش مشخصات فنی (یکسری فیلد در گروه های مرتبط یا همون متاباکس)

2-بخش نقد و بررسی (تنها به یک فیلد ادیتور نیاز داره ، یعنی فقط نوشته و عکس هست)

3-بخش مقایسه (مثل مورد 2)

4-بخش گالری تصاویر (فقط عکس به تعداد متغیر)

5-بخش گالری ویدیو (فقط ویدیو به تعداد متغیر)

به نظر شما بهترین راه حل چیه ؟

چیزهایی که به ذهن خودم میرسه :

روش اول :

قرار تمام موارد در یک نوشته سفارشی یا Custom Field

برای مورد 2 از ادیتور پیش فرض نوشته سفارشی و برای فیلدها از متاباکس یا Custom Field استفاده بشه

روش دوم :

قراردادن هر بخش در یک Custom Post جداگانه

دلیلم برای اینکار اینه که می خوام بتونم لیست هر بخش رو به صورت جداگانه در قسمت هایی از سایت نشون بدم

ولی برای نمایش همزمان همه بخش ها در یک صفحه مشکل دارم ، چون در جاهایی نیاز هست که تمام بخش ها رو در یک صفحه نمایش بدم ---- فعلاً الگوریتمی برای این قسمت مد نظرم نیست

ضمناً برای ارتباط دادن این نوشته های سفارشی مشکل دارم ، فعلاً فکرم اینه که از طریق یک دسته بندی مشترک بین انواع نوشته ها ارتباط برقرار کنم

مثلاً برای ارتباط تمام بخش ها در مورد ماشین "BMW X1 2.8 " نویسنده ابتدا سردسته BMW ، سپس دسته X1 (که در اینجا زیر دستهBMW هست) و در آخر زیر دسته 2.8 رو انتخاب کنه و این کار رو برای همه نوشته های سفارشی انجام بده .

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

می خوام روشی باشه که در آینده که حجم مطالب بالا میره به مشکل بر نخوریم

ممنون میشم همه دوستان نظر بدن

با تشکر از خوندن این متن طولانی

0

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


لینک به پست

ترکیب دو موضوع بالا با هم بهترین روش .

1

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


لینک به پست

روش را باید بر مبنای

تواناییتون توی برنامه نویسی

و مورد مصرف تعیین کنید

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

1

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


لینک به پست

سطح برنامه نویسیم متوسط هست

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

custom-post-types.zip

متاسفانه با چند مورد زیر مشکل دارم و درست درکشون نمی کنم :

1- چند پارامتر از $args از تابع register_post_type

نمی دونم موارد زیر دقیقاً بعداً کجا استفاده میشن


'has_archive' => 'ar-car-fani',


'query_var' => 'qv_car_fani',

2- آیا اگر پارامتری از نوشته های سفارشی رو بعداً تغییر بدم ، تاثیر زیادی بر عملکرد سایت خواهد داشت یا خیر

3- تا الان با نوشته ها به صورت ساختاری یا پدر فرزند کار نکردم - آیا امکان داره بین نوشته های سفارشی ایجاد شده رابطه برقرار کرد ؟

4- برای نمایش نوشته های سفارشی مرتبط در یک صفحه از کد زیر استفاده کردم ولی درست نمایش داده نمیشه

-----البته این کد برای زمانی هست که رابطه نوشته های سفارشی بر اساس دسته بندی های برند خودرو انجام بشه --- یعنی نوشته های سفارشی که دسته بندی برند اونها دقیقاً مثل هم باشه --- مثل سردسته BMW دسته X1 و زیر دسته 2.8


<?php
$args = array(
'post_type' => 'cpt_car_moghayese',
'tax_query' => array(
array(
'taxonomy' => 'cat_car_brand',
'field' => 'id',
//'terms' => $custom_taxterms,
'operator' => 'AND',
)
),
);
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
wp_reset_query();
//***************************************************************************
$args = array(
'post_type' => 'cpt_car_naghd',
'tax_query' => array(
array(
'taxonomy' => 'cat_car_brand',
'field' => 'id',
//'terms' => $custom_taxterms,
'operator' => 'AND',
)
),
);
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();

?>

5- اگر همه موارد رو در یک نوع نوشته سفارشی ایجاد کنم ، چه مشکلاتی بوجود میاد ؟ از لحاظ سرعت و ...

0

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


لینک به پست

روش را باید بر مبنای

تواناییتون توی برنامه نویسی

و مورد مصرف تعیین کنید

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

من نوشته های سفارشی رو طوری تنظیم کردم که رابطه والد و فرزند بین هر کدوم امکانپذیر باشه -- مشکلی که هست اینه که هر نوع نوشته سفارشی فقط نوشته های هم نوع خودش رو در لیست والد نشون میده ------- مثلاً نوع نوشته سفارشی "مشخصات فنی" فقط نوشته های این نوع رو میتونیم والد و فرزند باشن و امکان استفاده از نوشته سایر نوع های نوشته مثل نقد و بررسی و ... رو نداریم

0

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


لینک به پست

عرض کردم که باید برنامه نویسی رو کامل بدونید و عملا نباید به گزینه های پیش فرض وردپرس اکتفا کنید یعنی مثلا لیست والد و فرزند رو خودتون باید بسازید

این دو تا پارامتر


'has_archive' => true,
'query_var' => true,

باید مقدارشون true یا false باشه

5- اگر همه موارد رو در یک نوع نوشته سفارشی ایجاد کنم ، چه مشکلاتی بوجود میاد ؟ از لحاظ سرعت و ...

وقتی تعداد مطالب زیاد بشه زیاد بودن تعداد زمینه ها باعث کراش شدن دیتابیس می شه و سرعت لود رو خیلیپایین می آره که با optimze کردن دیتابیس حل می شه البته اگر بجای چندین فیلد یک زمینه دلخواه بسازید و ازش خروجی یک آرایه بگیرید این مشکل تقریبا برطرف می شه

1

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


لینک به پست

برای آخرین سئوال جناب فخار :

با توجه به اینکه می تونم همه روش ها رو پیاده سازی کنم (البته بعضی قسمت ها رو حتماً باید با جستجو در منابع نت پیدا کنم) و بعداً بهینه ترشون بکنم ،

چه روشی رو پیشنهاد میدین ؟

من خودم نظرم اینه از چند نوع نوشته مجزا استفاده کنم ولی 2 مشکل دارم با این روش :

1- نمایش همه نوع نوشته های سفارشی در یک صفحه بر اساس یک پارامتر مشترک و یکتا

2- برقراری ارتباط بین نوع های سفارشی ، چون تمام انواع نوشته سفارشی در اصل یک مطلب میشن ، چه موقع نوشته رو منتشر شده قلمداد کنم ؟ آیا اتوماتیک میشه انجام بشه یا باید توسط کاربر یک علامت (مثل فیلد ترو فالس) در دیتابیس ذخیره بشه ؟

با تشکر از زمانی که برای مشکل بنده طرف می کنید

0

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


لینک به پست

سئوال اولتون رو که اصلا متوجه نشدم

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


<?php if(have_posts()) :
while(have_posts()) :
the_post();
$id = $post->ID;
$fani = new WP_Query(array(
'post_type' => 'technical',
'post_parent' => $id,
'posts_per_page' => 1,
));
$moghayeseh = new WP_Query(array(
'post_type' => 'comparison',
'post_parent' => $id,
'posts_per_page' => 1,
));

if($fani->have_post()) {
echo '<h3>مشخصات فنی</h3>';
while($fani->have_post()) {
$fani->the_post();
the_content();
}
}
if($moghayeseh->have_post()) {
echo '<h3>مقایسه خودرو ها</h3>';
while($moghayeseh->have_post()) {
$moghayeseh->the_post();
the_content();
}
}
wp_reset_query();
wp_reset_query();
the_content();
endwhile;
endif;
?>

با فرض اینکه technical و comparison دو پست تایپ برای مشخصات فنی خودرو و مقایسه خودرو باشند

0

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


لینک به پست

در مورد سئوال 1 ) فرض کنید برای ماشین ها نوع های نوشته سفارشی به نام های "مشخصات فنی " ، " مقایسه " ، " نقد و بررسی " ، " گالری عکس " و " گالری فیلم" داریم .

چطور این نوع های نوشته سفارشی رو در یک صفحه با هم نمایش بدم ؟ با استفاده از کدی مثل کد شما میشه ولی مشکلم ارتباط این نوشته هاست ، چون تست کردم و بین نوشته های سفارشی از لحاظ والد و فرزند رابطه ای وجود نداشت .

یعنی نوشته های نقد و بررسی در مشخصات فنی (در بخش صفات برگه ، یا والد) نمایش داده نمیشه .

مشکلم اینه که دقیقاً نمی دونم به چه طریقی بین نوشته هایی که مربوط به یک ماشین خاص میشه ارتباط برقرار کنم ؟

+ اینکه چه موقع اطلاعات یک خودرو (شامل همه نوشته های سفارشی) رو به صورت منتشر شده به حساب بیارم .

اگر بشه بین نوع های نوشته سفارشی ارتباط والد فرزند رو برقرار کرد می تونم یک نوع نوشته سفارشی اضافی فقط برای والد بودن سایر نوع های نوشته سفارشی اضافه کنم . و تنها برای انتشار مطالب خودرو ها اون نوع نوشته والد رو بررسی کنم (البته تست نکردم که آیا نوشته پیش نویس ، در کادر والد نمایش داده میشه یا خیر)

------

در مورد کدهای ارسالی شما :

اگر اشتباه نکرده باشم ، شما کدتون رو بر اساس یک نوع نوشته سفارشی کدنویسی کردین ، در حالی که من چند نوع نوشته سفارشی جداگانه دارم

کلاً هنگ کردم - نمی دونم کدوم روش رو در پیش بگیرم

برای اجرا کردنش مشکلی ندارم ، چون مشکلات برنامه نویسی به مراتب سخت تر از این مورد رو انجام دادم ، فقط می خوام در آینده هم سایت قابلیت توسعه خوبی داشته باشه و هم از لحاظ سرعت افت نکنه

اگر امکان داره شماره تون رو برام پ.خ کنید --- قول میدم نهایتاً 10 دقیقه وقتتون رو بگیرم (چون از پیام خصوصی برتون میاد همینجا گفتم)

با تشکر از شما استاد عزیز

0

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


لینک به پست

شما باید با کوئری یک سلکتور برای سلکت کردن پستها به صفحه ارسال مطلب اضافه کنید و براش اکشنی بنویسید که اگر مقدار داشت مقدارش رو post_parent مطلب اصلی قرار بده و مطلب رو به روز کنه

1

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


لینک به پست

بالاخره تصمیم گرفتم که یک custom post type به اسم ماشین(car) درست کنم و برای سایر custom post ها به عنوان والد در نظرش بگیرمش

یعنی قبل از ایجاد هر نوع نوشته سفارشی مثل "مقایسه " ، " نقد و بررسی " و ... باید یک نوشته از نوع car ایجاد بشه و سپس در قسمت custom field اونها والد که همون car اصلی است رو مشخص کنم.

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

حالت اول ) استفاده از 2 نوع نوشته سفارشی به اسم عکس و فیلم

مزایا :

1- استفاده از جداول خود وردپرس (post-post_metaو comments)

2- شناسایی این نوع نوشته ها توسط افزونه های وردپرس

3- استفاده از سیستم نظرات وردپرس

4- استفاده از افزونه های لایک و دیسلایک برای تصاویر و ویدیوها

معایب :

1- برای ارسال یک عکس یا فیلم توسط مدیریت سایت باید یک نوشته ایجاد بشه

2- جا یا روشی برای تصاویر متفرقه (تصاویر ماشین هایی که فعلاً در سایت ثبت نشدن) تعبیه نشده - یعنی آپلود عکس های متفرقه از ماشین ها امکانپذیر نیست

3- بالا رفتن حجم جدول نوشته یا Post وردپرس (البته اینو مطمئن نیستم)

و شاید معایب دیگه ای که به ذهن من نمیرسه

حالت دوم ) استفاده از custom field ها برای نگهداری اطلاعات تصاویر و ویدیو های ماشین ها

در این روش دسته بندی تصاویر و ویدیوها مشخص نیست و باید یک الگوریتم شخصی پیاده سازی بشه

برای هر ماشین در custom post تصاویر و ویدیو ، عکس ها و تصاویر به صورت فیلد های تکراشونده به نوشته اضافه میشن

مزایا

1- کم شدن تعداد نوشته ها در جدول Posts وردپرس

معایب :

1- جایی برای تصاویر و ویدیوهای ماشین های متفرقه وجود نداره

2- از سیستم نظرات و افزونه ها نمیشه استفاده کرد

دوستان بزرگواری کنن هرچی به ذهنشون میرسه بگن

ممنون از اینکه وقت گذاشتین و متون بلند بالای من رو خوندین

0

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


لینک به پست

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

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

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

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


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

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

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


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