تعداد برچسب ها

mr.hashemian

تازه وارد
سلام خسته نباشید

یه سوال داشتم. میخواستم بدونم چطور میشه تعداد یک برچسب رو پیدا کرد؟

مثلا من از یک برچسب در چهار پست استفاده کردم، حالا آیا کدی وجود داره که بتونه تعداد استفاده اون برچسب رو نشون بده؟

ممنون

 

mahdyar7

تازه وارد
سلام، خداقوت

کد:
<?php
    $query_string = '
		SELECT *,name FROM '.$wpdb->prefix.'term_taxonomy
		JOIN '.$wpdb->prefix.'terms
		ON '.$wpdb->prefix.'term_taxonomy.term_id = '.$wpdb->prefix.'terms.term_id
		WHERE '.$wpdb->prefix.'term_taxonomy.taxonomy = "post_tag"
		ORDER by  '.$wpdb->prefix.'terms.name ASC
    ';
	$post_tags = $wpdb->get_results($query_string);
	?>
	<div id="a" class="abc_tags">
		<ul>
	<?php
	foreach($post_tags as $key => $tag) {
		$newletter = substr($tag->name, 0, 1);
		if($newletter !== $letter && $key != 0) { ?>
		</ul>
	</div>
	<div id="<?php echo strtolower($newletter); ?>" class="abc_tags">
		<ul>
	<?php	} $letter = substr($tag->name, 0, 1); ?>
			<li><a href="<?php echo get_tag_link($tag->term_id); ?>" title="<?php echo sprintf( __( "View all posts in %s" ), $tag->name ); ?>"><?php echo $tag->name.' ('.$tag->count.')';?></a></li>
		<?php
	}
		?>
		</ul>
	</div>
 

mr.hashemian

تازه وارد
سلام، خداقوت

<?php
$query_string = '
SELECT *,name FROM '.$wpdb->prefix.'term_taxonomy
JOIN '.$wpdb->prefix.'terms
ON '.$wpdb->prefix.'term_taxonomy.term_id = '.$wpdb->prefix.'terms.term_id
WHERE '.$wpdb->prefix.'term_taxonomy.taxonomy = "post_tag"
ORDER by '.$wpdb->prefix.'terms.name ASC
';
$post_tags = $wpdb->get_results($query_string);
?>
<div id="a" class="abc_tags">
<ul>
<?php
foreach($post_tags as $key => $tag) {
$newletter = substr($tag->name, 0, 1);
if($newletter !== $letter && $key != 0) { ?>
</ul>
</div>
<div id="<?php echo strtolower($newletter); ?>" class="abc_tags">
<ul>
<?php } $letter = substr($tag->name, 0, 1); ?>
<li><a href="<?php echo get_tag_link($tag->term_id); ?>" title="<?php echo sprintf( __( "View all posts in %s" ), $tag->name ); ?>"><?php echo $tag->name.' ('.$tag->count.')';?></a></li>
<?php
}
?>
</ul>
</div>

خیلی ممنون

دستت درد نکنه

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

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

باتشکر

 

MahdiY

راهبر انجمن
به کد زیر توجه کنید

print_r( get_term_by( 'name', 'ایران', 'post_tag' ) );


این کد یه شی از اطلاعات برچسب "ایران" رو برای شما دریافت و چاپ میکنه. اگه اشتباه نکنم فیلد count تعداد استفاده هستش

 

mr.hashemian

تازه وارد
به کد زیر توجه کنید

print_r( get_term_by( 'name', 'ایران', 'post_tag' ) );


این کد یه شی از اطلاعات برچسب "ایران" رو برای شما دریافت و چاپ میکنه. اگه اشتباه نکنم فیلد count تعداد استفاده هستش
ممنون از راهنماییتون

اینجوری میشه تعداد یک برچسب خاص رو گرفت:

<?php
$posttags = get_tags();
foreach($posttags as $tag) {
if($tag->name=="نام برچسب"){
echo $tag->count;
}
}
?>


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

 

MahdiY

راهبر انجمن
ممنون از راهنماییتون

اینجوری میشه تعداد یک برچسب خاص رو گرفت:

<?php
$posttags = get_tags();
foreach($posttags as $tag) {
if($tag->name=="نام برچسب"){
echo $tag->count;
}
}
?>


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

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

 

mr.hashemian

تازه وارد
دوست عزیز این روش استاندارد نیست

فرض کنید شما ده هزار تگ دارید که برای پیدا کردن تعداد یک برچسب خاص باید همشو لود کنید تا به یک عدد برسید!
بله حق باشماست اما من راهی که شما پیشنهاد کردید رو امتحان کردم و متاسفانه کار نمیکنه

اگر راه دیگه ای هست لطفا بفرمایید

خیلی ممنون

 

MahdiY

راهبر انجمن
راه حل همین هست. خروجی چی میده؟

اگه خطا هست یعنی syntax اشتباهه. اگه null هست یعنی تگ وجود نداره در غیر اینصورت خروجی مثل این داره:

کد:
WP_Term Object
(
    [term_id] => 292
    [name] => بازي زيبا عصر پادشاهان
    [slug] => %d8%a8%d8%a7%d8%b2%d9%8a-%d8%b2%d9%8a%d8%a8%d8%a7-%d8%b9%d8%b5%d8%b1-%d9%be%d8%a7%d8%af%d8%b4%d8%a7%d9%87%d8%a7%d9%86
    [term_group] => 0
    [term_taxonomy_id] => 292
    [taxonomy] => post_tag
    [description] => 
    [parent] => 0
    [count] => 1
    [filter] => raw
)

 

mr.hashemian

تازه وارد
راه حل همین هست. خروجی چی میده؟

اگه خطا هست یعنی syntax اشتباهه. اگه null هست یعنی تگ وجود نداره در غیر اینصورت خروجی مثل این داره:

کد:
WP_Term Object
(
    [term_id] => 292
    [name] => بازي زيبا عصر پادشاهان
    [slug] => %d8%a8%d8%a7%d8%b2%d9%8a-%d8%b2%d9%8a%d8%a8%d8%a7-%d8%b9%d8%b5%d8%b1-%d9%be%d8%a7%d8%af%d8%b4%d8%a7%d9%87%d8%a7%d9%86
    [term_group] => 0
    [term_taxonomy_id] => 292
    [taxonomy] => post_tag
    [description] => 
    [parent] => 0
    [count] => 1
    [filter] => raw
)
بله شما درست میگید، متاسفانه من کد رو اشتباه نوشته بودم. ولی بازم با این حال الان من چطور میتونم از این آرایه طوری استفاده کنم که تعداد یک برچسبی رو که براش مشخص میکنم نشون بده؟

 

mr.hashemian

تازه وارد
این کد درسته؟؟

کد:
$thetag = get_term_by( 'name', 'ایران', 'post_tag' );
$tag_name = $thetag->count;
 

MahdiY

راهبر انجمن
بله شما درست میگید، متاسفانه من کد رو اشتباه نوشته بودم. ولی بازم با این حال الان من چطور میتونم از این آرایه طوری استفاده کنم که تعداد یک برچسبی رو که براش مشخص میکنم نشون بده؟
همانطور که در خروجی مشاهده می کنید خروجی یک WP_Term Object شی هست

این کد درسته؟؟

$thetag = get_term_by( 'name', 'ایران', 'post_tag' );
$tag_name = $thetag->count;

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

کد:
echo get_term_by( 'name', 'ایران', 'post_tag' )->count;
 

mr.hashemian

تازه وارد
همانطور که در خروجی مشاهده می کنید خروجی یک WP_Term Object شی هست

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

echo get_term_by( 'name', 'ایران', 'post_tag' )->count;

آقا دستت درد نکنه

خیلی لطف کردی

ممنون

 
بالا