سلام دوستان. مقاله امروز وردپرس به ساخت قالب نقشه سایت وردپرس اشاره دارد. بدین صورت که می توانید نقشه سایت را بدون نیاز به افزونه برای سایت خود و در یک برگه جداگانه داشته باشید. مانند تصویر زیر:
این مقاله به درخواست یکی از کاربران آماده شده است. بسیار خب آموزش رو شروع می کنم.
اولین قدم برای انجام این کار ساخت themplate می باشد. یک فایل به نام sitemap.php در پوسته خود بسازید و آن را باز کنید. سپس کد زیر را داخل آن قرار دهید:
/* نمونه قالب نقشه ساخت آماده شده توسط مدرسه وردپرس Template Name: نقشه سایت */
سپس فایل را ذخیره کرده و در پیشخوان به بخش افزودن برگه بروید.
در قسمت سمت چپ، صفات برگه، قالب برگه را روی نقشه سایت بگذارید:

سپس برگه را انتشار داده و پیشنمایش آن را ببینید. می بینید که صفحه خالی است. خب باید هم خالی باشد چون ما داخل فایل sitemap.php کد خاصی ننوشته ایم. حالا نوبت به تعریف کدهای نقشه سایت در فایل sitemap.php است.
پس کد های زیر را به sitemap.php اضافه کنید:
function wps_sitemap_style() {
wp_enqueue_style( 'sitemap', get_template_directory_uri() . '/css/sitemap.css' ); // تعریف فایل استایل
}
add_action( 'wp_enqueue_scripts', 'wps_sitemap_style' );
get_header(); ?>
<div id="primary" class="site-content sitemap">
<div id="content" role="main">
<div class="block"> <?php // بلوک مربوط به نویسنده ها ?>
<h۲ id="authors">نویسنده ها</h۲>
<ul>
<?php
wp_list_authors(
array(
'exclude_admin' => false,
)
);
?>
</ul>
</div>
<div class="block"> <?php // بلوک مربوط به بایگانی ها ?>
<h۲ id="authors">بایگانی</h۲>
<ul>
<?php
wp_get_archives( );
?>
</ul>
</div>
<div class="block"> <?php // بلوک مربوط به دسته ها ?>
<h۲ id="authors">دسته ها</h۲>
<ul>
<?php wp_list_categories( $args );
$args = array(
'show_option_all' => '',
'orderby' => 'name',
'order' => 'ASC',
'style' => 'list',
'show_count' => ۰,
'hide_empty' => ۱,
'use_desc_for_title' => ۱,
'child_of' => ۰,
'feed' => '',
'feed_type' => '',
'feed_image' => '',
'exclude' => '',
'exclude_tree' => '',
'include' => '',
'hierarchical' => ۱,
'show_option_none' => __( 'No categories' ),
'number' => null,
'echo' => ۱,
'depth' => ۰,
'current_category' => ۰,
'pad_counts' => ۰,
'walker' => null
);
?>
</ul>
</div>
<div class="block">
<h۲ id="pages">صفحات</h۲> <?php // بلوک مربوط به برگه ها?>
<ul>
<?php
// برگه ای که می خواهید نمایش داده نشود اینجا وارد کنید
wp_list_pages(
array(
'exclude' => '',
'title_li' => '',
)
);
?>
</ul>
</div>
<div class="block"> <?php // بلوک مربوط به مطالب?>
<h۲ id="posts">مطالب</h۲>
<ul>
<?php
// دسته بندی که می خواهید نمایش داده نشود را اینجا وارد کنید
$cats = get_categories('exclude=');
foreach ($cats as $cat) {
?>
<?php
echo "<li>نام دسته: <b>".$cat->cat_name."</b>";
echo "<ul>";
query_posts('posts_per_page=-۱&cat='.$cat->cat_ID);
while(have_posts()) {
the_post();
$category = get_the_category();
if ($category[۰]->cat_ID == $cat->cat_ID) {
echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
}
}
echo "</ul>";
echo "</li>";
}
?>
</ul>
</div>
<?php // بخش مربوط به post type های دیگر
foreach( get_post_types( array('public' => true) ) as $post_type ) {
if ( in_array( $post_type, array('post','page','attachment') ) )
continue;
$pt = get_post_type_object( $post_type );
echo '<div class="block"><h۲>'.$pt->labels->name.'</h۲>';
echo '<ul>';
query_posts('post_type='.$post_type.'&posts_per_page=-۱');
while( have_posts() ) {
the_post();
echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
}
echo '</ul></div>';
}
?>
حالا فایل را ذخیره کرده و مجددا برگه را ببینید. می بینید که لینک ها به شکل زشت و نامرتب قرار گرفته اند. حالا نوبت به استایل آنها است.
در ابتدا فایل single.php پوسته خود را باز کرده و کدهای مربوط به چیدمان قالب را بردارید. در قالب دوهزار و دوازده به شکل زیر است:
<?php get_header(); ?> <div id="primary" class="site-content sitemap"> <div id="content" role="main"> </div><!-- #content --> </div><!-- #primary --> <?php get_sidebar(); ?> <?php get_footer(); ?>
سپس به شکل زیر کدها را داخل فایل sitemap.php قرار دهید:
<?php
/*
نمونه قالب نقشه ساخت آماده شده توسط مدرسه وردپرس
Template Name: نقشه سایت
*/
function wps_sitemap_style() {
wp_enqueue_style( 'sitemap', get_template_directory_uri() . '/css/sitemap.css' ); // تعریف فایل استایل
}
add_action( 'wp_enqueue_scripts', 'wps_sitemap_style' );
get_header(); ?>
<div id="primary" class="site-content sitemap">
<div id="content" role="main">
<div class="block"> <?php // بلوک مربوط به نویسنده ها ?>
<h۲ id="authors">نویسنده ها</h۲>
<ul>
<?php
wp_list_authors(
array(
'exclude_admin' => false,
)
);
?>
</ul>
</div>
<div class="block"> <?php // بلوک مربوط به بایگانی ها ?>
<h۲ id="authors">بایگانی</h۲>
<ul>
<?php
wp_get_archives( );
?>
</ul>
</div>
<div class="block"> <?php // بلوک مربوط به دسته ها ?>
<h۲ id="authors">دسته ها</h۲>
<ul>
<?php wp_list_categories( $args );
$args = array(
'show_option_all' => '',
'orderby' => 'name',
'order' => 'ASC',
'style' => 'list',
'show_count' => ۰,
'hide_empty' => ۱,
'use_desc_for_title' => ۱,
'child_of' => ۰,
'feed' => '',
'feed_type' => '',
'feed_image' => '',
'exclude' => '',
'exclude_tree' => '',
'include' => '',
'hierarchical' => ۱,
'show_option_none' => __( 'No categories' ),
'number' => null,
'echo' => ۱,
'depth' => ۰,
'current_category' => ۰,
'pad_counts' => ۰,
'walker' => null
);
?>
</ul>
</div>
<div class="block">
<h۲ id="pages">صفحات</h۲> <?php // بلوک مربوط به برگه ها?>
<ul>
<?php
// برگه ای که می خواهید نمایش داده نشود اینجا وارد کنید
wp_list_pages(
array(
'exclude' => '',
'title_li' => '',
)
);
?>
</ul>
</div>
<div class="block"> <?php // بلوک مربوط به مطالب?>
<h۲ id="posts">مطالب</h۲>
<ul>
<?php
// دسته بندی که می خواهید نمایش داده نشود را اینجا وارد کنید
$cats = get_categories('exclude=');
foreach ($cats as $cat) {
?>
<?php
echo "<li>نام دسته: <b>".$cat->cat_name."</b>";
echo "<ul>";
query_posts('posts_per_page=-۱&cat='.$cat->cat_ID);
while(have_posts()) {
the_post();
$category = get_the_category();
if ($category[۰]->cat_ID == $cat->cat_ID) {
echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
}
}
echo "</ul>";
echo "</li>";
}
?>
</ul>
</div>
<?php // بخش مربوط به post type های دیگر
foreach( get_post_types( array('public' => true) ) as $post_type ) {
if ( in_array( $post_type, array('post','page','attachment') ) )
continue;
$pt = get_post_type_object( $post_type );
echo '<div class="block"><h۲>'.$pt->labels->name.'</h۲>';
echo '<ul>';
query_posts('post_type='.$post_type.'&posts_per_page=-۱');
while( have_posts() ) {
the_post();
echo '<li><a href="'.get_permalink().'">'.get_the_title().'</a></li>';
}
echo '</ul></div>';
}
?>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
کد زیر استایل نقشه سایت می باشد. یک فایل sitemap.css ساخته و در پوشه css داخل پوسته خود ذخیره کنید و کدهای زیر را داخل فایل قرار دهید:
.sitemap{
line-height:۲۵px;
font-size:۱۳px;}
.sitemap a{
color:#۳۳۳;
text-decoration:none;}
.sitemap h۲{
font-size:۱۶px;
background:#۰C۹;
padding:۵px;
border-radius:۵px ۵px ۰ ۰ ;
color:#۰۰۰;
margin:۱۰px ۰;
}
.sitemap ul{
background:#f۵f۵f۵;
border-radius:۰ ۰ ۵px ۵px;
padding:۵px ۳۰px ۵px ۰;
margin: -۱۰px ۰ ۱۰px ۰;
}
.sitemap ul li{
list-style-type:circle;}
حالا فایل را ذخیره کرده و دوباره برگه را ببینید.
در نهایت باید نقشه سایت مپ شما به شکل عکس بالا باشد. در غیر اینصورت اشتباهی در کار انجام دادید.
مقاله امروز مدرسه وردپرس در رابطه با ساخت قالب نقشه سایت وردپرس به پایان رسید. امیدوارم مفید بوده باشه
موفق باشید
منبع مدرسه وردپرس


