• اطلاعیه ها

    • Saeed Fard

      برگزاری چهارمین همایش Coder Conf و کد تخفیف برای کاربران وردپرس پارسی   20/04/97

      کدرکانف هر سال در آخرین پنجشنبه مرداد با بورد‌های مختلفی برگزار می‌گردد،امسال نیز کدرکانف در همین تاریخ با حضور برنامه نویسان مطرح کشور در بورد تخصصی جاوااسکریپت برگزار خواهد شد، یک گردهمایی متفاوت با طعم Javascript. Coderconf هر سال نسبت به سال‌های گذشته با حضور برنامه‌نویسان پر رنگتر می‌شود. ما سعی کردیم هر ساله به این کنفرانس مفهوم عمیق تری ببخشیم تا از آنچه در سال‌های گذشته عرضه شده به روزتر و مفیدتر واقع شویم. امسال فرصتی خواهد بود تا با نگرشی جدید و بهبود مطالب ارائه شده، عمیقتر به این موضوع نگاه کنیم تا بجای تکرار مباحث پیشین گامی هر چند کوچک در مسیر ارتقای دانش فنی برنامه‌نویسان ایرانی برداریم. ما در Coderconf ۴ با تمرکز بر روی Javascript نیت کرده‌ایم این فرصت را در اختیار برنامه نویسان قرار دهیم تا با ظرافت و استانداردهای روز دنیا کار خود را پیش ببرند. به نظر ما امسال زمان آن فرا رسیده‌است تا این زبان را به صورت تخصصی و از ابعاد مختلف به چالش بکشیم.   دبیر علمی همایش میلاد حیدری، کدرکانف ۴ را اینگونه توصیف کرده است :اشتراک گذاری دانش بهترین راه رسیدن به جاودانگی اطلاعات است. هر ساله همایش‌های زیادی برگزار میشه که افراد شرکت‌کننده می‌توانند با افراد مجرب شبکه سازی کنند. امسال در کدرکانف سعی کردیم علاوه بر بخش شبکه سازی بین افراد بیشتر روی انتقال دانش و کیفیت ارائه ها تمرکز داشته باشیم . به قصد یک گردهمایی بلند مدت بین برنامه‌نویسان جاوااسکریپت که با هم تبادل دانش و اطلاعات کنند گردهم آییم.
      بنده به عنوان عضو کوچکی از جامعه برنامه‌نویسان جاوااسکریپت ایران امیدوارم در کدرکانف امسال علاوه بر شبکه سازی، از اطلاعاتی که دوستان در این همایش در اختیارتان قرار می‌دهند استفاده کنید. در سایت همایش میتوانید سخنرانان و موضوع پنل همایش کدرکانف رو مشاهده کنید . علاقه‌مندان به حضور در این همایش می‌توانند با کد تخفیف wpparsi اقدام به ثبت نام در این گردهمایی کنند. سایت همایش :‌http://coderconf.org
      بلیط فروشی همایش :‌https://evand.com/events/coderconf4  
Monica

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

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

سلام

من برای نمایش نام و لینک دسته بندی پست هر راهی توو نت بود رفتم از the category تا single cat title و غیره .

من برای استفاده در خارج از حلقه ، در single.php میخوام.

  1. نام دسته بندی 
  2. لینک دسته بندی مادر که پست داخلش قرار داره  (بدون تگ a)
  3. لینک دسته بندی فرزند که پست داخلش قرار داره (بدون تگ a)

خروجی اینطور باشه:

http://sitename.com/iran

 

0

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


لینک به پست

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

در 8 دقیقه قبل، farhad.in گفته است :

سلام

ببنید این بدردتون میخوره.

https://codex.wordpress.org/Function_Reference/get_category_link

ممنون ، امتحان کردم ، هیچ خروجی نمیده

get_category_link( $category_id );

ویرایش شده در توسط nazanin123
0

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


لینک به پست
در هم اکنون، nazanin123 گفته است :

ممنون ، امتحان کردم ، هیچ خروجی نمیده


get_category_link( $category_id );

باید id دسته رو به عنوان آرگومان ورودی بهش بدید.

مثلا

get_category_link( '1' );

// output: http://domain.com/category/name

 

0

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


لینک به پست

سلام و درود

 

وقتی داخل حلقه single.php نباشید آیدی پست رو باید این شکلی بگیرید.

<?php $post_id = get_queried_object_id(); ?>

وقتی آیدی پست رو بدست آوردید از روی آیدی پست همه اطلاعات پست رو میتونید بدست بیارید.

 

موفق باشید

1

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


لینک به پست
در 5 دقیقه قبل، farhad.in گفته است :

باید id دسته رو به عنوان آرگومان ورودی بهش بدید.

مثلا


get_category_link( '1' );

// output: http://domain.com/category/name

 

این خروجی لینک دسته بندی با آیدی "1" هست ، من میخوام دسته بندی که پست داخلش هست رو خروجی بده ، این کد قراره بره در single.php . 

کد داینامیک میخوام ،

0

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


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

سلام و درود

 

وقتی داخل حلقه single.php نباشید آیدی پست رو باید این شکلی بگیرید.


<?php $post_id = get_queried_object_id(); ?>

وقتی آیدی پست رو بدست آوردید از روی آیدی پست همه اطلاعات پست رو میتونید بدست بیارید.

 

موفق باشید

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

<?php echo get_the_category( $id )[0]->name;?>

0

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


لینک به پست

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

کل کدش رو براتون نوشتم و میتونید در فایل single.php مورد استفاده قرار دهید.

<?php
global $post;
$postcat = get_the_category( $post->ID );
if ( ! empty( $postcat ) ) {
  $cat_id = $postcat[0]->term_id;
  echo get_category_link( $cat_id );
}
?>

 

ویرایش شده در توسط farhad.in
اصلاح کد
1

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


لینک به پست
در 7 دقیقه قبل، farhad.in گفته است :

<?php
global $post;
$postcat = get_the_category( $post->ID );
if ( ! empty( $postcat ) ) {
  $cat_id = $postcat[0]->term_id;
  echo get_category_link( $cat_id );
                        }
?>

 

ممنون ، دسته فرزند رو خروجی داد بصورت 

sitename.com/iran/news/teh

اگر بخوام بصورت زیر بشه چطوری میشه (دسته مادر) 

sitename.com/iran

0

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


لینک به پست

درود مجدد

 

تابع زیر رو میذارید توی functions.php قالبتون:

function get_parent_category() {
	
	global $post;
	
	$categories = get_the_category($post->ID);
	
	$parent_category = array();
	foreach($categories as $category) {
		
		if($category->parent === 0) {
			
			$parent_id[] = $category->term_id;
			
		}
		
	}
	
	if($parent_id === array()) {
		
		return false;
		
	}
	
	if(count($parent_id) > 1) {
		
		$parent_id = min($parent_id);
		
	}
	
	return array(
		'name' => get_cat_name($parent_id),
		'link' => get_category_link($parent_id)
	);
	
}

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

<?php
$parent = get_parent_category();
if($parent !== false) {
	$name = $parent['name'];
	$link = $parent['link'];
}
?>

 

موفق باشید

1

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


لینک به پست

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

در 8 دقیقه قبل، nazanin123 گفته است :

اگر بخوام بصورت زیر بشه چطوری میشه (دسته مادر) 

 



 

متونید با استفاده از تابع exploade رشته رو تکه تکه کنید و بخشایی که نیاز دارید استفاده کنید.

<?php

$custom_cat_url = explode('/', get_category_link( $cat_id ));

echo $custom_cat_url[0].'//'.$custom_cat_url[1].'/'.$custom_cat_url[2].'/'.$custom_cat_url[3];

 

ویرایش شده در توسط farhad.in
1

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


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

درود مجدد

 

تابع زیر رو میذارید توی functions.php قالبتون:

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


<?php
$parent = get_parent_category();
if($parent !== false) {
	$name = $parent['name'];
	$link = $parent['link'];
}
?>

 

موفق باشید

سلام و تشکر از شما 

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

من میخوام در یک json schema در single.php استفاده کنم . میخوام وقتی نوشته در دسته بندی با آدرس زیر هست 

http://sitenam.com/iran/video/video-iran/نام-نوشته

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

//خروجی اول 
http://sitenam.com/iran/
//خروجی دوم
http://sitenam.com/iran/video/
//خروجی سوم
http://sitenam.com/iran/video/video-iran/

باتشکر مجدد از شما 

0

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


لینک به پست
در 16 ساعت قبل، farhad.in گفته است :

متونید با استفاده از تابع exploade رشته رو تکه تکه کنید و بخشایی که نیاز دارید استفاده کنید.


<?php

$custom_cat_url = explode('/', get_category_link( $cat_id ));

echo $custom_cat_url[0].'//'.$custom_cat_url[1].'/'.$custom_cat_url[2].'/'.$custom_cat_url[3];

 

سلام و تشکر 

فقط مقدار [1] برمیگردونه ! بقیه خالی هستن، حتی اعداد رو جابجا کردم ، ولی فقط 1 درست برمیگردونه ،

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

http://sitenam.com/iran/video/video-iran/نام-نوشته

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

//خروجی اول 
http://sitenam.com/iran/
//خروجی دوم
http://sitenam.com/iran/video/
//خروجی سوم
http://sitenam.com/iran/video/video-iran/

باتشکر مجدد از شما 

0

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


لینک به پست

کدایی که دادم بهتون رو تست کردم و درست کار میکنند، یکم دقت کنید متوجه میشید.

اینم نمونه خروجی کدهایی که بهتون دادم.
5a4604d2deac1_Screenshotfrom2017-12-2912-31-04.thumb.png.24c6b6a3907b1225213f35fc29a62d66.png

 

 

1

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


لینک به پست

کل کدهایی که باید استفاده کنید رو قرار میدم چون متوجه شدم شما فقط یک تیکه از کدی که دادمو استفاده کردید.

<?php
global $post;
$postcat = get_the_category( $post->ID );
if ( ! empty( $postcat ) ) {
  $cat_id = $postcat[0]->term_id;
  $custom_cat_url = explode('/', get_category_link( $cat_id ));
}
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3].'/'.$custom_cat_url[4]."<hr>";
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3].'/'.$custom_cat_url[4].'/'.$custom_cat_url[5]."<hr>";
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3].'/'.$custom_cat_url[4].'/'.$custom_cat_url[5].'/'.$custom_cat_url[6]."<hr>";
?>

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

موفق باشید.

1

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


لینک به پست
در 23 ساعت قبل، farhad.in گفته است :

کل کدهایی که باید استفاده کنید رو قرار میدم چون متوجه شدم شما فقط یک تیکه از کدی که دادمو استفاده کردید.


<?php
global $post;
$postcat = get_the_category( $post->ID );
if ( ! empty( $postcat ) ) {
  $cat_id = $postcat[0]->term_id;
  $custom_cat_url = explode('/', get_category_link( $cat_id ));
}
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3].'/'.$custom_cat_url[4]."<hr>";
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3].'/'.$custom_cat_url[4].'/'.$custom_cat_url[5]."<hr>";
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3].'/'.$custom_cat_url[4].'/'.$custom_cat_url[5].'/'.$custom_cat_url[6]."<hr>";
?>

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

موفق باشید.

سلام و تشکر فراوان 

این شرط رو چجوری میشه برقرار کرد که اگر خالی بود هیچی برنگرده؟

if(تمام موارد زیر موجود بود یعنی دسته اول){
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3]."<hr>";
?>
}
//شرط دوم
if(اگر تمام موارد زیر موجود بود یعنی زیر دسته اول){
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3].'/'.$custom_cat_url[4]."<hr>";
?>
}
//شرط سوم
if(تمام موارد زیر موجود بود یعنی زیر دسته دوم){
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3].'/'.$custom_cat_url[4].'/'.$custom_cat_url[5]."<hr>";
?>
}
//و الی آخر

 

0

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


لینک به پست

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

همونطور که میدونید مقدار متغییر custom_cat_url$ یک آرایه هست و سه پارامتر اول اون مربوط میشه به آدرس سایت. این عدد سه یادتون باشه.

خب حالا با استفاده از تابع count میتونی تعداد مقادیر آرایه custom_cat_url$ رو بدست بیاری و حاصلش رو منهای ۳ کنی مقداری که بدست میاد تعداد دسته و زیر دسته میباشد.

اگر مقدار حاصل صفر بود یعنی هیچ دسته و زیر دسته ای نداره.

بعد میتونی با استفاده از حلقه foreach تا زمانی که دسته و زیر دسته وجود داره لینک دسته رو بهتون بده.

تمام

ویرایش شده در توسط farhad.in
1

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


لینک به پست
در 18 دقیقه قبل، farhad.in گفته است :

همونطور که میدونید مقدار متغییر custom_cat_url$ یک آرایه هست و سه پارامتر اول اون مربوط میشه به آدرس سایت. این عدد سه یادتون باشه.

خب حالا با استفاده از تابع count میتونی تعداد مقادیر آرایه custom_cat_url$ رو بدست بیاری و حاصلش رو منهای ۳ کنی مقداری که بدست میاد تعداد دسته و زیر دسته میباشد.

اگر مقدار حاصل صفر بود یعنی هیچ دسته و زیر دسته ای نداره.

بعد میتونی با استفاده از حلقه foreach تا زمانی که دسته و زیر دسته وجود داره لینک دسته رو بهتون بده.

تمام

راه کوتاهتر و ساده تری برای بدست آوردن مقدار href دسته نیست؟ که نخوایم explode کنیم؟ فکر کنم توو سایت با بازدید بالا فشار به سرور زیاد باشه..

میتونیم شرط رو اینطور تعریف کنیم؟

if ( ! empty( $custom_cat_url[5] ) ) {
echo $custom_cat_url[0].'//'.$custom_cat_url[1].$custom_cat_url[2].'/'.$custom_cat_url[3].'/'.$custom_cat_url[4].'/'.$custom_cat_url[5]."<hr>";
}

 

0

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


لینک به پست

درود مجدد

 

نقل قول

راه کوتاهتر و ساده تری برای بدست آوردن مقدار href دسته نیست؟ که نخوایم explode کنیم؟

href دسته های یه پست که مشخصه من نمی فهمم شما هدفتون چیه.

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

1

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


لینک به پست
در 54 دقیقه قبل، nazanin123 گفته است :

راه کوتاهتر و ساده تری برای بدست آوردن مقدار href دسته نیست؟ که نخوایم explode کنیم؟ فکر کنم توو سایت با بازدید بالا فشار به سرور زیاد باشه..

 

سروری که نتونه یدونه explode رو هندل کنه سرور نیست !!!
راه دیگه‌ای هم میشه پیدا کرد؛ بهتره همون کدی که بهتون دادمو تابع کنید مورد استفاده قرار بدید داخل کدهای وردپرس و حتی افزونه‌ها کدهای سنگین تر از exploade هم وجود داره :-) 

در مورد شرط هم درسته میتونید استفاده کنید/.

1

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


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

درود مجدد

 

href دسته های یه پست که مشخصه من نمی فهمم شما هدفتون چیه.

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

باسلام مجدد ، کد کامل رو براتون میذارم، ببینید کجا میخوام خروجی بگیرم، هر دو مقدار  id و name رو نمیتونم خروجی بگیرم!

ببینید پله پله اضافه میشه . 

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
<?  if (اگر دسته اول خالی نیست){ ?>
  {
    "@type": "ListItem",
    "position": 1,
    "item": {
      "@id": "https://mysite.com/video/",
      "name": "ویدیو",
      "image": "https://mysite.com/cat.png"
    }
  },
  <? } 
    if (اگر دسته فرزند خالی نیست){ ?>
 {
    "@type": "ListItem",
    "position": 2,
    "item": {
      "@id": "https://mysite.com/video/ir/",
      "name": "ویدیو ایران",
      "image": "https://mysite.com/cat.png"
    }
  },
   <? } 
    if (اگر دسته فرزند دوم خالی نیست){ ?>
  {
    "@type": "ListItem",
    "position": 2,
    "item": {
      "@id": "https://mysite.com/video/ir/teh/",
      "name": "ویدیو تهران",
      "image": "https://mysite.com/cat.png"
    }
  }
  <? } ?>
  ]
}
</script>	

 

0

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


لینک به پست

درود مجدد

 

راه کاری که به نظر من رسید اینه.

تابع زیر رو تیو فیال functions.php قالبتون میذارید:

function calcPosition($url) {
	
	$parse = wp_parse_url($url);
	
	$path = trim($parse['path'], "/");
	
	$count = substr_count($path, "/");
	
	if(strpos($path, "category") !== false) {
	
		return $count;
	
	} else {
		
		return $count + 1;
		
	}
	
}

 

سپس کد زیر رو در فایل single.php استفاده میکنید:

<?php

$cats = get_the_category(get_queried_object_id());

$itemListElement = array();
foreach($cats as $cat) {

	$link = get_category_link($cat->term_id);
	$position = calcPosition($link);
	$itemListElement[$position - 1] = array(
		'@type' => 'ListItem',
		'position' => $position,
		'item' => array(
			'@id' => $link,
			'name' => get_cat_name($cat->term_id)
		)
	);
	
}

$data = array(
	'@context' => 'http://schema.org',
	'@type' => 'BreadcrumbList',
	'itemListElement' => $itemListElement
);

echo '<script type="application/ld+json">';
echo json_encode($data);
echo '</script>';

?>

 

کد فوق میاد برای شما اون رشته JSON رو میسازه.

 

موفق باشید

1

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


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

درود مجدد

 

راه کاری که به نظر من رسید اینه.

تابع زیر رو تیو فیال functions.php قالبتون میذارید:

 

سپس کد زیر رو در فایل single.php استفاده میکنید:

 

کد فوق میاد برای شما اون رشته JSON رو میسازه.

 

موفق باشید

باتشکر ، پس بصورت عادی نمیشه

افزونه ها هم بصورت encode خروجی میدن که گوگل توجهی نمیکنه ، سایت هایی که بصورت عادی استفاده میکنن راحت جواب میگرین توو گوگل "گنجور" رو سرچ کنید توو گوگل ، حتی ورزش سه ، سورس سایتشون هم ببینید.

0

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


لینک به پست
در ۱ ساعت قبل، nazanin123 گفته است :

باتشکر ، پس بصورت عادی نمیشه

افزونه ها هم بصورت encode خروجی میدن که گوگل توجهی نمیکنه ، سایت هایی که بصورت عادی استفاده میکنن راحت جواب میگرین توو گوگل "گنجور" رو سرچ کنید توو گوگل ، حتی ورزش سه ، سورس سایتشون هم ببینید.

درود مجدد

 

مظنورتون اینه که JSON ای رو که PHP انکد میکنه رو گوگل نمیخونه؟

اگر منظور اینه صفحه ای رو که دارید توش از این کد استفاده میکنید ارسال کنید آدرسش رو تا خودم چک کنم.

چون بعیده گوگل نتونه بخونه این حالت رو.

0

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


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

درود مجدد

 

مظنورتون اینه که JSON ای رو که PHP انکد میکنه رو گوگل نمیخونه؟

اگر منظور اینه صفحه ای رو که دارید توش از این کد استفاده میکنید ارسال کنید آدرسش رو تا خودم چک کنم.

چون بعیده گوگل نتونه بخونه این حالت رو.

سلام

خروجی کد شما نتونست لیست کنه کامل 

<script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"BreadcrumbList","itemListElement":{"2":{"@type":"ListItem","position":3,"item":{"@id":"http:\/\/www.site.com\/video\/eu-video\/england-video\/","name":"\u0648\u06cc\u062f\u06cc\u0648 \u0627\u0646\u06af\u0644\u06cc\u0633"}}}}</script>

 

0

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


لینک به پست

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

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

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

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


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

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

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


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