رفتن به مطلب

مطالب مشابه بر اساس برچسب خاص


پست های پیشنهاد شده

سلام

میخواستم بدونم چجوری میشه مطالب مرتبط سایت رو بر اساس یه برچسب خاص بالا آورد

مثلا اسم خواننده محسن چاوشی هستش میخوام تمام مطالب مرتبط بر اساس این برچسب بیان و همینطور برای همه خواننده های دیگه

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

کلی کد هست اما اونا بر اساس یه برچسب خاص نمیاره کلی میارن.

لینک به ارسال
در 27 دقیقه قبل، mehran-b گفته است :

سلام و درود @milan-tifusi

 

بر اساس یه برچسب خاص توی هر پست بیاد کوئری بزنه باید اون برچسب یه ویژگی خاص داشته باشه وگنه فرقی با بقیه برچسب ها نداره.

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

 

حالا برچسب هم نشد مطالب مرتبط با فیلد دلخواه بالا بیاد ، اینم نمیشه ؟

مثلا همه پست های محسن چاوشی فیلددلخواه دارن که نام خواننده محسن چاوشی ثبت شده براش نمیشه با این مطالب مرتبط آورد ؟

 

یه همچین کدی دارم که یه نفر بهم داد ولی کار نمیکنه :


 

<?
$Ptitle=related(get_the_title());
$title=get_the_title();

$relatedPosts = mysql_query("SELECT * FROM $wpdb->posts WHERE `post_title` LIKE ('%$Ptitle%') AND `post_status`='publish' AND post_title<>$title ORDER BY RAND() DESC LIMIT 0, 20");
$numrows=mysql_num_rows($relatedPosts);

if ($numrows>0){
    while($info=mysql_fetch_array($relatedPosts)){
    $POSTID=$info['ID'];
    
    $Artist=get_post_meta($POSTID,'singer', true);
?>
<li>
<a href="<? the_permalink($POSTID)?>">
    <?php  the_post_thumbnail($POSTID,array(150,100)); ?>
        <div>
            <span class="artist_name"><?php the_field('singer'); ?></span>
        </div>
    </a>
    </li>

<?
    }
}
?>                </ul>

<?php wp_reset_query(); ?>

 

ویرایش شده توسط milan-tifusi
لینک به ارسال
در 4 ساعت قبل، milan-tifusi گفته است :

حالا برچسب هم نشد مطالب مرتبط با فیلد دلخواه بالا بیاد ، اینم نمیشه ؟

مثلا همه پست های محسن چاوشی فیلددلخواه دارن که نام خواننده محسن چاوشی ثبت شده براش نمیشه با این مطالب مرتبط آورد ؟

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

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

لینک به ارسال
در 35 دقیقه قبل، mehran-b گفته است :

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

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

اینه :

namesinger

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

<tr>
                    <td><label for="">نام خواننده را وارد کنید</label></td>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td><input name="namesinger" value="<?php if(get_post_meta($post->ID,'namesinger',true) !=""){ echo get_post_meta($post->ID,'namesinger',true);} ?>" type="text"/></td>
                </tr>

 

لینک به ارسال

@milan-tifusi

 

تابع زیر رو بذارید داخل فایل functions.php قالب فعال سایت.

function mehranRelatedByCustomField($post = null) {
	
	$post = get_post($post);
	
	if(!$post) {
		
		echo 'آبجکت پست تعریف نشده است';
		return;
		
	}
		
	$field = get_post_meta($post->ID, 'namesinger', true);
	
	if(empty($field)) {
		
		echo 'برای این پست فیلد مورد نظر مقدار ندارد';
		return;
		
	}
	
	ob_start();
	
	$query = new WP_Query(
		array(
			'post_type' => 'post',
			'post_status' => 'publish',
			'ignore_sticky_posts' => true,
			'posts_per_page' => 5,
			'meta_key' => 'namesinger',
			'meta_value' => $field
		)
	);
	
	if($query->have_posts()) :
		while($query->have_posts()) :
		
			$query->the_post();
			
			the_title();
			
		endwhile;
		wp_reset_postdata();
	endif;
	
	ob_end_flush();
	
}

بعد مثلا توی single.php به این شکل ازش استفاده کنید.

<?php mehranRelatedByCustomField(); ?>

البته فقط عنوان های 5 پست مرتبط با اون پست رو نشون میده و دیگه استایل خاصی نداره.

لینک به ارسال
در 3 ساعت قبل، mehran-b گفته است :

@milan-tifusi

 

تابع زیر رو بذارید داخل فایل functions.php قالب فعال سایت.


function mehranRelatedByCustomField($post = null) {
	
	$post = get_post($post);
	
	if(!$post) {
		
		echo 'آبجکت پست تعریف نشده است';
		return;
		
	}
		
	$field = get_post_meta($post->ID, 'namesinger', true);
	
	if(empty($field)) {
		
		echo 'برای این پست فیلد مورد نظر مقدار ندارد';
		return;
		
	}
	
	ob_start();
	
	$query = new WP_Query(
		array(
			'post_type' => 'post',
			'post_status' => 'publish',
			'ignore_sticky_posts' => true,
			'posts_per_page' => 5,
			'meta_key' => 'namesinger',
			'meta_value' => $field
		)
	);
	
	if($query->have_posts()) :
		while($query->have_posts()) :
		
			$query->the_post();
			
			the_title();
			
		endwhile;
		wp_reset_postdata();
	endif;
	
	ob_end_flush();
	
}

بعد مثلا توی single.php به این شکل ازش استفاده کنید.


<?php mehranRelatedByCustomField(); ?>

البته فقط عنوان های 5 پست مرتبط با اون پست رو نشون میده و دیگه استایل خاصی نداره.

تشکر از شما واقعا کارتون عالیه

 

فقط یه مشکل من این کد رو گذاشتم فقط عنوان پستارو آورد ، چجوری لینک پست رو روی هر عنوان بندازم ؟

و اینکه چجوری به صورت li ازش استفاده کنم و استایل خودم رو بده بهش ؟

لینک به ارسال
در 5 دقیقه قبل، milan-tifusi گفته است :

تشکر از شما واقعا کارتون عالیه

خواهش میکنم.

در 5 دقیقه قبل، milan-tifusi گفته است :

فقط یه مشکل من این کد رو گذاشتم فقط عنوان پستارو آورد ، چجوری لینک پست رو روی هر عنوان بندازم ؟

و اینکه چجوری به صورت li ازش استفاده کنم و استایل خودم رو بده بهش ؟

با ul و li تابع به شکل زیر تغییر میکنه.

function mehranRelatedByCustomField($post = null) {
	
	$post = get_post($post);
	
	if(!$post) {
		
		echo 'آبجکت پست تعریف نشده است';
		return;
		
	}
		
	$field = get_post_meta($post->ID, 'namesinger', true);
	
	if(empty($field)) {
		
		echo 'برای این پست فیلد مورد نظر مقدار ندارد';
		return;
		
	}
	
	ob_start();
	
	$query = new WP_Query(
		array(
			'post_type' => 'post',
			'post_status' => 'publish',
			'ignore_sticky_posts' => true,
			'posts_per_page' => 5,
			'meta_key' => 'namesinger',
			'meta_value' => $field
		)
	);
	
	if($query->have_posts()) :
		echo '<ul>';
		while($query->have_posts()) :
		
			$query->the_post();
			?>
			<li>
				<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
			</li>
			<?php
		endwhile;
		wp_reset_postdata();
		echo '</ul>';
	endif;
	
	ob_end_flush();
	
}

 

لینک به ارسال
در 8 دقیقه قبل، mehran-b گفته است :

خواهش میکنم.

با ul و li تابع به شکل زیر تغییر میکنه.


function mehranRelatedByCustomField($post = null) {
	
	$post = get_post($post);
	
	if(!$post) {
		
		echo 'آبجکت پست تعریف نشده است';
		return;
		
	}
		
	$field = get_post_meta($post->ID, 'namesinger', true);
	
	if(empty($field)) {
		
		echo 'برای این پست فیلد مورد نظر مقدار ندارد';
		return;
		
	}
	
	ob_start();
	
	$query = new WP_Query(
		array(
			'post_type' => 'post',
			'post_status' => 'publish',
			'ignore_sticky_posts' => true,
			'posts_per_page' => 5,
			'meta_key' => 'namesinger',
			'meta_value' => $field
		)
	);
	
	if($query->have_posts()) :
		echo '<ul>';
		while($query->have_posts()) :
		
			$query->the_post();
			?>
			<li>
				<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
			</li>
			<?php
		endwhile;
		wp_reset_postdata();
		echo '</ul>';
	endif;
	
	ob_end_flush();
	
}

 

خیلی ممنونم ازت

خدا خیرت بده

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...