رفتن به مطلب

ساخت تب های آژاکس در وردپرس


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

سلام خدمت همگی

وقتتون بخیر

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

این کداشه توی لوکال به خوبی کار میکنه ولی وقتی پیاده سازیش میکنم تو وردپرس عمل نمیکنه :-؟

مشکل کار کجاست؟

راه حل دیگه ای هم اگه هست معرفی کنید

این کد داخل فانکشن


function tab_content($tab)
{
if($tab != null)


switch ($tab) {
case 'home':
{
echo '<h2>home Comtent</h2>';
}break;


case 'help':
{
echo '<h2>Help tab content</h2>';
}break;


case 'download':
{
echo '<h2>Download Comtent</h2>';
}break;
}
else
echo 'Please Select Tab !!!!';
}


$tab = isset($_GET['tab'])?$_GET['tab']:null;
tab_content($tab);

اینم کد داخل استایل


<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.0.min.js"></script>


<ul id="nav">
<li ><a href="home">Page 1</a></li>
<li><a href="help">Page 2</a></li>
<li><a href="download">Page 3</a></li>
</ul>


<div id="ajax-content">This is default text, which will be replaced</div>


</body>


<script type="text/javascript">


$(document).ready(function(){
$('#nav a').click(function(){
var tab = $(this).attr('href');
$.get('function.php',{'tab':tab},function(data){
$('#ajax-content').html(data);
});
return false;
});
});


</script>


</html>

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

میشه به جای چاپ یه پیام یه سری دستورات php بدیم مثلا اینطوری بشه؟!


<?php
function tab_content($tab)
{
if($tab != null)

switch ($tab) {
case 'home':
{
<div id="tab4" class="tabs-wrap">
<?php
$custom_query = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'cat' =>'854',
'posts_per_page' =>'7',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>
<ul>
<?php if($custom_query->have_posts()) :
while($custom_query->have_posts()) : $custom_query->the_post();?>
<li>
<div class="post-thumbnail">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php echo get_the_post_thumbnail(); ?><span class="overlay-icon"></span></a>
</div>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<span class="date"><span class="tie-date"><?php
$days = round((date('U') - get_the_time('U')) / (60*60*24));
if ($days==0)
echo timeago();
else
echo " " . $days . " روز پیش";
?>
</span></span><br/>
</li>
<?php endwhile;endif; ?>
</ul>
<?php wp_reset_query(); ?>
</div>
}break;

case 'help':
{
<div id="tab3" class="tabs-wrap">
<?php
$number=7; // number of recent comments desired
$comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT $number");
?>
<ul id="recentcomments">
<?php
if ( $comments ) : foreach ( (array) $comments as $comment) :
echo '<li class="recentcomments" style="font-size:11px;">' . sprintf(__('%1$s در %2$s'), get_comment_author_link(), '<a href="'. get_comment_link($comment->comment_ID) . '">' . get_the_title($comment->comment_post_ID) . '</a>') . '</li>';
endforeach; endif;?></ul>
</div>
<?php
}
elseif($tab==2) {
?>
<div id="tab2" class="tabs-wrap">
<ul>
<?php
query_posts('meta_key=post_views_count&orderby=meta_value_num&order=DESC&showposts=7');
if (have_posts()) : while (have_posts()) : the_post(); ?>
<li>
<div class="post-thumbnail">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"><?php echo get_the_post_thumbnail(); ?><span class="overlay-icon"></span></a>
</div>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<span class="date"><span class="tie-date"><?php
$days = round((date('U') - get_the_time('U')) / (60*60*24));
if ($days==0)
echo timeago();
else
echo " " . $days . " روز پیش";
?></span><br/>
</span>
</li>
<?php
endwhile; endif;
wp_reset_query();
?>
</ul>
</div>
}break;

case 'download':
{
<div id="tab1" class="tabs-wrap">
<?php
$custom_query1 = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'cat' =>'894,893,10,851,853,14,855,13,856,857,859,15',
'posts_per_page' =>'8',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>
<ul>
<?php if($custom_query1->have_posts()) :
while($custom_query1->have_posts()) : $custom_query1->the_post();?>
<li>
<div class="post-thumbnail">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="bookmark"> <?php echo get_the_post_thumbnail(); ?> <span class="overlay-icon"></span></a>
</div>
<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
<span class="date"><span class="tie-date"><?php
$days = round((date('U') - get_the_time('U')) / (60*60*24));
if ($days==0)
echo timeago();
else
echo " " . $days . " روز پیش";
?></span><br/></span>
</li>
<?php endwhile;endif; ?>
</ul>
<?php wp_reset_query(); ?>
</div>
}break;
}
else
echo 'Please Select Tab !!!!';
}

$tab = isset($_GET['tab'])?$_GET['tab']:null;
tab_content($tab);
?>

البته فکر کنم اررور داشته باشه کدی که نوشتم :P

لینک به ارسال

اگر کدتون ارور نداشته باشه می شه برای اینکه راحت و درست کار کنید صدها خط کد رو در هم نریزید محتوای هر تب را در یک فایل php جدا بگذارید و با اینکلود واردشون کنید به فایل مورد نظر

لینک به ارسال

اگر کدتون ارور نداشته باشه می شه برای اینکه راحت و درست کار کنید صدها خط کد رو در هم نریزید محتوای هر تب را در یک فایل php جدا بگذارید و با اینکلود واردشون کنید به فایل مورد نظر

مشکل من با کد های درهم html و php هستش.نمیدونم چرا تو سایدبار همون کد درسته ولی تو یه صفحه دیگه میزارم اررور میده :|

لینک به ارسال

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

تگ php با


<?php

شروع می شه و با


?>

تموم

تمام محتوای داخل این تگ باید به زبان php باشه یعنی اگر می خواهید در شرط زیر


<?php
if($a==1) {
//example
}
?>

در حالتی که a برابر با یکه کد


<div class="x">div</div>

رو بگذارید باید به یکی از دو صورت زیر قرارش بدید


<?php
if($a==1) {
echo "<div class=\"x\">div</div>";
}
?>

یا


<?php
if($a==1) { ?>
<div class="x">div</div>
<?php
}
?>

و اگر بخواهید در همون شرط کد


<?php echo 'Hello';?>

بگذارید باید به صورت زیر بگذارید


<?php
if($a==1) {
echo "Hello";
}
?>

لینک به ارسال

این کد رو باید توی همون فایل سایدبار بزارم یا تو فایل function.php?


function tab_content($tab)
{
if($tab != null)

switch ($tab) {
case 'home':
{
echo '<h2>home Comtent</h2>';
}break;

case 'help':
{
echo '<h2>Help tab content</h2>';
}break;

case 'download':
{
echo '<h2>Download Comtent</h2>';
}break;
}
else
echo 'Please Select Tab !!!!';
}

$tab = isset($_GET['tab'])?$_GET['tab']:null;
tab_content($tab);

لینک به ارسال

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

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

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

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

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

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

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

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

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