M.Javad

مشکل در ساخت ابزارک اختصاصی قالب

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

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


Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\wordpress\wp-content\themes\ghaleb tafrihi\widget.php on line 45

اینم کد


// This is where you run the code and display the output
echo __( '<section style="border:none;">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home"><i class="glyphicon glyphicon-eye-open"></i>آخرین مطالب</a></li>
<li><a data-toggle="tab" href="#menu1"><i class="glyphicon glyphicon-eye-open"></i>مطالب محبوب</a></li>
<li><a data-toggle="tab" href="#menu2"><i class="glyphicon glyphicon-eye-open"></i>مطالب تصادفی</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<ul>
'.
$portfolio = new WP_Query(array(
'post_status' =>'publish',
'post_type' =>'post',
'cat' =>'-1',
'posts_per_page' =>get_option('shortname_tab_num'),
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
)); if($portfolio->have_posts()) :
while($portfolio->have_posts()) : $portfolio->the_post();
.'
<li><a href="'.the_permalink();.' target="_blank">'.the_title();.'</a></li>
'. endwhile; endif; wp_reset_query(); .'
</ul>
</div>
<div id="menu1" class="tab-pane fade">
<ul>
'.
$popularpost = new WP_Query(array(
'posts_per_page' => get_option('shortname_tab_num'),
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC' ));
while ( $popularpost->have_posts() ) : $popularpost->the_post(); .'
<li><a href="'.the_permalink();.'" target="_blank">'. the_title();.'</a></li>
'. endwhile; .'
</ul>
</div>
<div id="menu2" class="tab-pane fade">
<ul>
'.$posts = get_posts('orderby=rand&numberposts='.get_option('shortname_tab_num').''); foreach($posts as $post) {.'
<li><a href="'.the_permalink();.'" target="_blank">'.the_title();.'</a></li>
'.} .'
</ul>
</div>
</div>
</section>', 'bigtheme' );

لاین 45 اینه


)); if($portfolio->have_posts()) :

اساتید help :D:P

0

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


لینک به پست

همه چی رو که اکو نباید بکنید اون هم داخل تابع زبان !

کدها رو خارج از تگ php قرار بدید


<section style="border:none;">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home"><i class="glyphicon glyphicon-eye-open"></i>آخرین مطالب</a></li>
<li><a data-toggle="tab" href="#menu1"><i class="glyphicon glyphicon-eye-open"></i>مطالب محبوب</a></li>
<li><a data-toggle="tab" href="#menu2"><i class="glyphicon glyphicon-eye-open"></i>مطالب تصادفی</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<ul>
<?php
$portfolio = new WP_Query(array(
'post_status' =>'publish',
'post_type' =>'post',
'cat' =>'-1',
'posts_per_page' =>get_option('shortname_tab_num'),
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
)); if($portfolio->have_posts()) :
while($portfolio->have_posts()) : $portfolio->the_post(); ?>
<li><a href="<?php the_permalink();?>" target="_blank"><?php the_title();?></a></li>
<?php endwhile; endif; wp_reset_query(); ?>
</ul>
</div>
<div id="menu1" class="tab-pane fade">
<ul>
<?php
$popularpost = new WP_Query(array(
'posts_per_page' => get_option('shortname_tab_num'),
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
));
while ( $popularpost->have_posts() ) : $popularpost->the_post();?>
<li><a href="<?php the_permalink();?>" target="_blank"><?php the_title();?></a></li>
<?php endwhile; wp_reset_query(); ?>
</ul>
</div>
<div id="menu2" class="tab-pane fade">
<ul>
<?php $posts = get_posts('orderby=rand&numberposts='.get_option('shortname_tab_num'));
foreach($posts as $post) { ?>
<li><a href="<?php the_permalink();?>" target="_blank"><?php the_title();?></a></li>
<?php } ?>
</ul>
</div>
</div>
</section>

1

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


لینک به پست
همه چی رو که اکو نباید بکنید اون هم داخل تابع زبان ! کدها رو خارج از تگ php قرار بدید
	[list]
[*][url="#home"]آخرین مطالب[/url]
[*][url="#menu1"]مطالب محبوب[/url]
[*][url="#menu2"]مطالب تصادفی[/url]

[/list] [list]
'publish', 'post_type' =>'post', 'cat' =>'-1', 'posts_per_page' =>get_option('shortname_tab_num'), 'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1 )); if($portfolio->have_posts()) : while($portfolio->have_posts()) : $portfolio->the_post(); ?> [*]

[/list] [list]
get_option('shortname_tab_num'), 'meta_key' => 'post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' )); while ( $popularpost->have_posts() ) : $popularpost->the_post();?> [*]

[/list]
[list]
[*]

[/list]

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


Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\wordpress\wp-content\themes\ghaleb tafrihi\widget.php on line 29

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


<?php
// Creating the widget
class wpb_widget extends WP_Widget {

function __construct() {
parent::__construct(
// Base ID of your widget
'wpb_widget',

// Widget name will appear in UI
__('ابزارک تب سه گانه اختصاصی قالب', 'bigtheme'),

// Widget description
array( 'description' => __( 'ابزارک جهت نمایش مطالب جدید,محبوب و تصادفی می باشد', 'bigtheme' ), )
);
}

// Creating widget front-end
// This is where the action happens
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];

// This is where you run the code and display the output
echo __( '', 'bigtheme' );
echo $args['after_widget'];
}

// Widget Backend
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) ) {
$title = $instance[ 'title' ];
}
else {
$title = __( 'عنوان ابزارک', 'bigtheme' );
}
// Widget admin form
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
<input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php
}

// Updating widget replacing old instances with new
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
} // Class wpb_widget ends here

// Register and load the widget
function wpb_load_widget() {
register_widget( 'wpb_widget' );
}
add_action( 'widgets_init', 'wpb_load_widget' );

و همه هم میگن باید داخل تابع اکو بزاریم

0

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


لینک به پست

من وقتی داخل تابع اکو کد html قرار میدم اجرا میکنه بدون مشکل ولی کد php که واردش میشه به مشکل میخوره فکر کنم کدی که گذاشتم درست بود همه الحاق ها رو هم درست انجام دادم فقط نمیدونم اون ; چی میگه اون وسط!!!

0

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


لینک به پست

فقط باید کدهای html و تکست ها و هر آنچه که می خواهید اکو شود را در داخل تابع اکو بگذارید و دستوراتی مثل foreach و یا while یا شرط if و امثال هم رو نباید اکو کنید

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

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

1

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


لینک به پست

فقط باید کدهای html و تکست ها و هر آنچه که می خواهید اکو شود را در داخل تابع اکو بگذارید و دستوراتی مثل foreach و یا while یا شرط if و امثال هم رو نباید اکو کنید

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

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

طرف که مثل شما استاد نیست اونم لابد از یه جا کپی کرده تو سایتش گذاشته :D:P خب من الان باید چیکار کنم؟!!یعنی وقتی به کدهای شرطی میرسم چیکار کنم؟!با الحاق درست نمیشه؟!خروجیش مثلا $portfolio رو کجا باید بزارم نمیشه که حلقه نباشه!!!یا اصلا باید یه راهی دیگه به جز اکو کردن برای گذاشتن کدهای html,php باشه در ابزارک اختصاصی!!

0

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


لینک به پست

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

تمام دستورات php - شرطها - حلقه ها و ... سمت سرور باید اجرا بشند و فقط نتایجشونه که می تونه اکو بشه سمت کاربر

بجای


echo __( '', 'bigtheme' );

تو کدهاتون قرار بدید


?>
اینجا کدهایی که تو پاسخ قبلی قرار دادم رو بگذارید
<?php

1

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


لینک به پست

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

تمام دستورات php - شرطها - حلقه ها و ... سمت سرور باید اجرا بشند و فقط نتایجشونه که می تونه اکو بشه سمت کاربر

بجای


echo __( '', 'bigtheme' );

تو کدهاتون قرار بدید


?>
اینجا کدهایی که تو پاسخ قبلی قرار دادم رو بگذارید
<?php

آها فهمیدم خیلی خیلی ممنون درست شد :)

0

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


لینک به پست

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

تمام دستورات php - شرطها - حلقه ها و ... سمت سرور باید اجرا بشند و فقط نتایجشونه که می تونه اکو بشه سمت کاربر

بجای


echo __( '', 'bigtheme' );

تو کدهاتون قرار بدید


?>
اینجا کدهایی که تو پاسخ قبلی قرار دادم رو بگذارید
<?php

استاد عزیز یه مشکل کوچیک الان فهمیدم بخش مطالب تصادفی رو از زمانی که توی ابزارک اختصاصی گذاشتم بهم ریخته به طوری که هر 10تا مطلب تصادفی رو فقط یه عنوان نشون میده!!!


<ul>
<?php $posts = get_posts('orderby=rand&numberposts=10');
foreach($posts as $post) { ?>
<li><a href="<?php the_permalink();?>" target="_blank"><?php the_title();?></a></li>
<?php } ?>
</ul>

منظورم اینکه که 10تا مطلب مختلف نشون نمیده و هر 10تا مطلب یکیه!!

0

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


لینک به پست

<a href="<?php echo get_permalink($post->ID);?>" target="_blank"><?php echo $post->post_title;?></a>

1

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


لینک به پست


<a href="<?php echo get_permalink($post->ID);?>" target="_blank"><?php echo $post->post_title;?></a>

خیلی خیلی ممنون :)

0

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


لینک به پست
در در 12/14/2015 at 21:14، imanfakhar گفته است :
 

<a href="<?php echo get_permalink($post->ID);?>" target="_blank"><?php echo $post->post_title;?></a>

 

با عرض سلام مجدد خدمت استاد.من میخوام سه تا ابزارک اختصاصی در قالب قرار بدم ولی ابزارک دوم و سوم رو وقتی میسازم این اررور رو میده

Fatal error: Cannot redeclare class wpb_widget in C:\xampp\htdocs\wp\wp-content\themes\digiweb\popularposts.php on line 69

فکر کنم شاید بخاطر اینه که آی دی های سه تا ابزارک عین همه و باید در دوتا ابزارک بعدی یه سری تغییرات بدم

ممنون میشم اگه راهنمایی کنید

0

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


لینک به پست

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

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

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

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


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

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

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


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