milan-tifusi

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

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

سلام

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

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

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

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

0

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


لینک به پست

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

 

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

1

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


لینک به پست

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

در 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
0

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


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

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

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

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

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

1

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


لینک به پست
در 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>

 

0

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


لینک به پست

@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 پست مرتبط با اون پست رو نشون میده و دیگه استایل خاصی نداره.

1

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


لینک به پست
در 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 ازش استفاده کنم و استایل خودم رو بده بهش ؟

0

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


لینک به پست
در 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();
	
}

 

1

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


لینک به پست
در 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();
	
}

 

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

خدا خیرت بده

0

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


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

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

خدا خیرت بده

موفق باشید

1

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


لینک به پست

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

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

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

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


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

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

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


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