رفتن به مطلب

نمایش زیردسته های وردپرس در یک div دیگه


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

جسارت می کنم این سوال رو میپرسم ، شما add-ons نصب کردید که کامل نشون میده؟ چون برای من اینطور نیست.

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

لینک به ارسال
در 40 دقیقه قبل، hoseni_68 گفته است :

جسارت می کنم این سوال رو میپرسم ، شما add-ons نصب کردید که کامل نشون میده؟ چون برای من اینطور نیست.

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

 

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

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

لینک به ارسال

سلام

مشکل از همین contenteditable="true"  را از option حذف کنید   بود که گفته بودید و من متوجه نشده بودم.

آقا همه چی حل شد و از شما تا اینجا که وقت گذاشتید کاملا ممنونم ولی چون من اطلاعاتم داخل جاوا کمه ، به مشکل می خورم.

چطوری باید اطلاعات رو بریزم داخل data-menu

<select id="menu1" onchange="Func()">
	<option>
		<?php $categories = get_categories("hide_empty=0");
		foreach ($categories as $cat)
			{
				if($cat->parent < 1)
					{
						$categorycount = $categories->count;
						echo ("<option class='gozine' data-menu='".setgozineSearch($cat->cat_ID)."' >$cat->cat_name($cat->count)</option>");
					}
			}
		?>
	</option>
</select>


	<script>
		function setgozineSearch(id)
		{
		var xmlhttp;
		if (window.XMLHttpRequest)
		  {// code for IE7+, Firefox, Chrome, Opera, Safari
		  xmlhttp=new XMLHttpRequest();
		  }
		else
		  {// code for IE6, IE5
		  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		  }
		xmlhttp.onreadystatechange=function()
		  {
		  if (xmlhttp.readyState==4 && xmlhttp.status==200)
			{
			document.getElementById("zirdaste").innerHTML=xmlhttp.responseText;
			}
		  }
		xmlhttp.open("POST","<?php bloginfo('url');?>/actions",true);
		xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		xmlhttp.send("setgozineSearch="+id);
		}
	</script>

<script>
function Func() {
var menu2 = document.getElementById('menu2');
var menu1=document.getElementById('menu1');
var val=menu1.options[menu1.selectedIndex].getAttribute('data-menu');
var arr=val.split(',');
menu2.options.length = 0;
for(i = 0; i < arr.length; i++)
{
if(arr[i] != "")
{
menu2.options[menu2.options.length]=new Option(arr[i],arr[i]);
}
}
}
</script>

کد زیر هم داخل action

<?php 
/*template name: actions*/
if(isset($_POST['setgozineSearch'])) {
$numberChild = $_POST['setgozineSearch'];
$categories = get_categories("child_of=$numberChild&hide_empty=0");
	foreach ($categories as $category) {	
		echo ('<option onclick="getid('.$category->cat_ID.')"><a href="'.get_bloginfo('url')."/category		  /".$category->category_nicename.'">');
		echo ($category->cat_name);
		echo ("</a><span class='span-count'>[$category->count]</span></option>");
	}
wp_reset_query();
}

?>

فکر می کنم این قسمت اشتباست

echo ("<option class='gozine' data-menu='".setgozineSearch($cat->cat_ID)."' >$cat->cat_name($cat->count)</option>");

پیاپیش از همکاریتون کمال تشکر را دارم

ویرایش شده توسط hoseni_68
لینک به ارسال

Capture.thumb.JPG.424b425ea8676a2f8a9b85من تا اینجا نوشتم

<select id="menu1" onchange="Func()">
	<option>
		<?php $categories = get_categories("hide_empty=0");
		foreach ($categories as $cat)
			{
				if($cat->parent < 1)
					{
						$categorycount = $categories->count;
						echo ("<option id='zirdaste$cat->cat_ID' class='gozine' onclick='setgozineSearch($cat->cat_ID)' >$cat->cat_name($cat->count)</option>");
					}
			}
		?>
	</option>
</select>
<select id="menu2"></select>

تابع زیردسته

	<!-- START nemayesh zir dasteha  -->
	<script>
		function setgozineSearch(id)
		{
		var xmlhttp;
		if (window.XMLHttpRequest)
		  {// code for IE7+, Firefox, Chrome, Opera, Safari
		  xmlhttp=new XMLHttpRequest();
		  }
		else
		  {// code for IE6, IE5
		  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		  }
		xmlhttp.onreadystatechange=function()
		  {
		  if (xmlhttp.readyState==4 && xmlhttp.status==200)
			{
			document.getElementById("zirdaste"+id).setAttribute("data-menu", xmlhttp.responseText); 
			}
		  }
		xmlhttp.open("POST","<?php bloginfo('url');?>/actions",true);
		xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		xmlhttp.send("setgozineSearch="+id);
		}
	</script>
	<!-- END nemayesh zir dasteha  -->
<script>
function Func() {
var menu2 = document.getElementById('menu2');
var menu1=document.getElementById('menu1');
var val=menu1.options[menu1.selectedIndex].getAttribute('data-menu');
var arr=val.split(',');
menu2.options.length = 0;
for(i = 0; i < arr.length; i++)
{
if(arr[i] != "")
{
menu2.options[menu2.options.length]=new Option(arr[i],arr[i]);
}
}
}
</script>

اینم اکشن

<?php 
/*template name: actions*/
if(isset($_POST['setgozineSearch'])) {
$numberChild = $_POST['setgozineSearch'];
$categories = get_categories("child_of=$numberChild&hide_empty=0");
	foreach ($categories as $category) {	
		echo ('<option onclick="getid('.$category->cat_ID.')"><a href="'.get_bloginfo('url')."/category/".$category->category_nicename.'">');
		echo ($category->cat_name);
		echo ("</a><span class='span-count'>[$category->count]</span>z</option>,");
	}
wp_reset_query();
}

?>

اینجا به جای onclick چی بذارم که همون موقع بره و تابع رو بخونه و زیر دسته هارو بیاره ؟؟

echo ("<option id='zirdaste$cat->cat_ID' class='gozine' onclick='setgozineSearch($cat->cat_ID)' >$cat->cat_name($cat->count)</option>");
	

وقتی اجرا می کنم الان با کلیک کار می کنه و میره داخل اکشن می خونه، ولی بصورت لینکی نمیاره ، و اینکه تابع  Func()  اجرا نمی شه

Capture.thumb.JPG.424b425ea8676a2f8a9b85

لینک به ارسال

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

من سئوال شما را از سه مسیر متفاوت جواب دادم یک مسیر آژاکس جاوا اسکریپت یک مسیر آژاکس جی کوئری و یک مسیر جاوا اسکریپت معمولی هر سه روش هم بارها تست شده اند و سالمند 

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

لینک به ارسال
در 19 ساعت قبل، hoseni_68 گفته است :

چطوری باید اطلاعات رو بریزم داخل data-menu

این به جاوا اسکریپت مربوط نمی شه باید با php کد صحیح رو بسازید

لینک به ارسال
در 1 ساعت قبل، imanfakhar گفته است :

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

من سئوال شما را از سه مسیر متفاوت جواب دادم یک مسیر آژاکس جاوا اسکریپت یک مسیر آژاکس جی کوئری و یک مسیر جاوا اسکریپت معمولی هر سه روش هم بارها تست شده اند و سالمند 

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

آخرین روشی که معرفی کردید که شامل کد زیر هستش در تمام مرورگرها + گوشی کار می کنه ، ولی دارم تلاش می کنم که کدای وردپرس رو بذارم داخلش و بصورت پابلیک دسته ها و زیر دسته هارو داخل دو تا select نشون بده که هنوز موفق نشدم.

از اینکه خیلی اذیتتون کردم کمال معذرت خواهی رو می کنم .

<select id="menu1" onchange="Func()">
	<option data-menu="گزینه 1 از 1, گزینه 2 از 1 , گزینه 3 از 1 " contenteditable="true">گزینه 1</option>
	<option data-menu="گزینه 1 از 2, گزینه 2 از 2 , گزینه 3 از 2 " contenteditable="true">گزینه 2</option>
	<option data-menu="گزینه 1 از 3, گزینه 2 از 3 , گزینه 3 از 3 " contenteditable="true">گزینه 3</option>
</select>
<select id="menu2"></select>
<script>
function Func() {
var menu2 = document.getElementById('menu2');
var menu1=document.getElementById('menu1');
var val=menu1.options[menu1.selectedIndex].getAttribute('data-menu');
var arr=val.split(',');
menu2.options.length = 0;
for(i = 0; i < arr.length; i++)
{
if(arr[i] != "")
{
menu2.options[menu2.options.length]=new Option(arr[i],arr[i]);
}
}
}
</script>

 

لینک به ارسال

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

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

<select id="menu1" onchange="Func()">
	<option>
		<?php $categories = get_categories("hide_empty=0");
		foreach ($categories as $cat)
			{
				if($cat->parent < 1)
					{
						$categorycount = $categories->count;
						echo ("<option id='zirdaste$cat->cat_ID' data-menu='".setgozineSearch($cat->cat_ID)."' class='gozine'  >$cat->cat_name($cat->count)</option>");
						
					}
			}
		?>
	</option>
</select>
<?
function setgozineSearch($id){
$categories = get_categories("child_of=$id&hide_empty=0");
	foreach ($categories as $category) {
		$content .= '<a onclick="getid('.$category->cat_ID.')">'.$category->cat_name."</a>,";
	}
	return $content;
wp_reset_query();
}
 ?>
<select id="menu2"></select>
<script>
function Func() {
var menu2 = document.getElementById('menu2');
var menu1=document.getElementById('menu1');
var val=menu1.options[menu1.selectedIndex].getAttribute('data-menu');
var arr=val.split(',');
menu2.options.length = 0;
for(i = 0; i < arr.length; i++)
{
if(arr[i] != "")
{
menu2.options[menu2.options.length]=new Option(arr[i],arr[i]);
}
}
}
</script>
            

571f68aba1f70_.JPG.c3e729ebb8bdf833a735b

لینک به ارسال

استاد چکار کنم؟

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

<a onclick="getid(60)">اره</a>

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

این تقریبا برای سایت فعلا قدم آخره

الان روی سایت قرارش دادم به صورت آنلاین توضیحات گفته شده  را ببینید

http://stock.sanattools.com

ویرایش شده توسط hoseni_68
لینک به ارسال
در 12 ساعت قبل، imanfakhar گفته است :

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

من سئوال شما را از سه مسیر متفاوت جواب دادم یک مسیر آژاکس جاوا اسکریپت یک مسیر آژاکس جی کوئری و یک مسیر جاوا اسکریپت معمولی هر سه روش هم بارها تست شده اند و سالمند 

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

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

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

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

لینک به ارسال
در 12 ساعت قبل، hoseni_68 گفته است :

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

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

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

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

چند سری اومدم پاسخ بذارم دیدم اسپم جدید دادید رفتم 

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

2. دومین روشی که بهتون گفتم استفاده از جاوا اسکریپت روی تمام نمایشگرهای قدیمی و جدید عمل می کنه حداقل 15 سالی هم هست که تو همه دنیا بجز سیستم شما درست کار کرده  فقط توی نام ارسالی کارکتر بزرگ نباید داشته باشه که شما داشتید و اینکه باید اکشن رو به فایل actions.php منتقل کنید و اینکلودش نکنید نمونه هم براتون گذاشتم مطالب قبلی رو بخونید پیداش می کنید 

3. اگر باز هم موفق نشدید تو بخش خرید تایپیک بزنید 

لینک به ارسال

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

صفحه اول پست شماره 9 که کامل توضیح دادم برای قرار دادن دسته و زیردسته در دو دیو که کاملا کار میکرد.

حالا برای اینکه همینکارو داخل دوتا select یا همون نوار آبشاری که داخل این خرید و فروش ابزار الات دست دوم لینک هردوش هست فقط لازمه کد اول که اینه

<?php $categories = get_categories();
	foreach ($categories as $cat)
		{
			if($cat->parent < 1)
				{
						echo ("<li class='gozine' onclick='setgozine($cat->cat_ID)'>$cat->cat_name</li>");
				}
		}
?>

رو فقط یه select با خاصیت onchange بذارید که بشه کد زیر :

	<select onchange="setgozineSearch(this.value)">
		<?php $categories = get_categories("hide_empty=0");
		foreach ($categories as $cat)
			{
				if($cat->parent < 1)
					{
						$categorycount = $categories->count;
						echo ("<option class='gozine' value=$cat->cat_ID >$cat->cat_name</option>");
					}
			}
		?>
	</select>

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

سعی کردم انقد ساده توضیح بدم که همه کسایی که تازه کار هستن متوجه بشن.

اگر مشکلی هم بود خود در خدمتتون هستم ولی طبق قانون این سایت داخل همینجا بپرسید.

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

لینک به ارسال
  • 3 سال بعد...

سلام،

من بارها از این کد استفاده کردم و کارم کاملا راه افتاده ، یه مشکلی پیش اومده ، لطفا راهنمایی فرمایید.

 

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

 

مشکل اینجاست : وقتی صفحه را باز می کنیم یسری از div ها کدهای جاوا روشون اعمال میشه ، مثلا وقتی روی show post more که کلیک می کنیم، the_content نمایش داده میشه، حالا وقتی همون کدها داخل فایل action فراخوانی میشه و مطلب بعدی رو نشون میده، این کدهای جاوا اعمال نمیشه و دیگه دکمه show post more و کدهای جاوای زوم و در واقع تمام جاواهای نوشته شده روی div ها عمل نمی کنه.

 

با احترام فراوان

لینک به ارسال

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

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

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

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

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

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

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

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

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