رفتن به مطلب

بودن اطلاعات هدر.پی اچ پی در همه ی صفحات


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

درود.

دوستان قالبی دارم که در تمامی برگه ها و صفحاتش ، اطلاعات برگه ی header.php رو میگیره ! حتی با اینکه مثلا get_header(); ?> رو از برگه ی ادامه مطلب پاک کردم ، اما باز هم همون آش و همون کاسه ! راهی هست که این اتفاق نیافته؟ یا حداقل برای دسته هایی خاص ( قالب جداگانه دارن ) اینها نشون داده نشن؟!

لینک به ارسال
ارسال شده در (ویرایش شده)

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

تو یکی از قالب ها دیده بودم ، بدین صورت بود ! :


function (){
$site_name = esc_attr(get_option('blogname'));
$type = (is_home() ? 'blog' : 'article');
$url = get_permalink();
.
.
.
.
.
.

// Generate meta tags
$nl = "\n";
$tags = '';
$tags .= '<meta property="og:site_name" content="'.$site_name.'" />'.$nl;
$tags .= '<meta property="og:type" content="'.$type.'" />'.$nl;
$tags .= '<meta property="og:url" content="'.$url.'" />'.$nl;
if($title)
$title .= '<meta property="og:title" content="'.$title.'" />'.$nl;
if($desc)
$tags .= '<meta property="og:description" content="'. esc_attr($desc).'" />'.$nl;
if($image)
$tags .= '<meta property="og:image" content="'.$image.'" />'.$nl;
if($admins)
$tags .= '<meta property="fb:admins" content="'.esc_attr($admins).'" />'.$nl;
echo $tags;
}

اما خوب این به همه ی صفحات اضافه میشه

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

میتونید برای اون دستهیک پوسته جدا ایجاد کنید.

برای مثال اسم فایل میشه:

category-news.php

لینک به ارسال

<?php [color=#282828]

[right]get_header(); ?>[/right]

[/color]

<?php $info= get_post_meta($post->ID, 'info', true); ?>
<?php $cover = get_post_meta($post->ID, "cover", true); ?>
<?php $summary= get_post_meta($post->ID, "summary", true); ?>
<?php $writers= get_post_meta($post->ID, "writers", true); ?>
<?php $stars= get_post_meta($post->ID, "stars", true); ?>
<?php $director= get_post_meta($post->ID, "director", true); ?>
<?php $link= get_post_meta($post->ID, "link", true); ?>
<div id="main"><div class="wrap cf">
<div id="headline" class="cf">
<div class="inner">
<h1 id="title"><?php the_title(); ?></h1>

<div id="actions">
<?php dp_like_post(); ?>

<div class="dropdown dp-share">
<span class="dropdown-handle"><?php _e('Share', 'dp'); ?></span>

<div class="dropdown-content">
<?php dp_addthis(); ?>
</div>
</div>
</div>
</div><!-- end #headline>.inner -->
</div><!-- end #headline -->

<div id="content" role="main">
<?php while (have_posts()) : the_post(); global $post;?>

<div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<div id="details" class="section-box">
<div class="section-content">
<div data-height="150">
<p id="meta">
<span class="author"><?php _e('Added by', 'dp'); ?> <?php the_author_posts_link(); ?></span>
<span class="time"><?php _e('on', 'dp'); ?> <?php the_time('Y-m-d'); ?></span>

<?php edit_post_link(__('Edit', 'dp'), ' <span class="sep">/</span> '); ?>
</p>
<div class="entry-content rich-content">

<?php the_content(); ?>
<?php wp_link_pages(array('before' => '<p class="entry-nav pag-nav"><span>'.__('Pages:', 'dp').'</span> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
</div><!-- end .entry-content -->

<div id="extras">
<h4><?php _e('Category:', 'dp'); ?></h4> <?php the_category(', '); ?>
<?php the_tags('<h4>'.__('Tags:', 'dp').'</h4>', ', ', ''); ?>
</div>
</div><!-- end #info -->
</div><!-- end .section-content -->

</div><!--end #deatils-->

</div><!-- end #post-<?php the_ID(); ?> -->

<?php dp_related_posts(array('number'=>get_option('dp_related_posts'))); ?>
<?php comments_template('', true); ?>
<?php endwhile; ?>
</div><!-- end #content -->
<?php get_sidebar(); ?>
</div></div><!-- end #main -->

<?php get_footer(); ?>

لینک به ارسال

برای مثال، توی فایل single این کدها رو بزارید و براساس دسته فایل موردنظر رو فراخوانی کنید:

<?php
if(in_category('powerpoint')){include(TEMPLATEPATH.'/single-powerpoint.php');}

elseif(in_category('annonuce')){include(TEMPLATEPATH.'/single-mannonuce.php');}

elseif(in_category('audios')){include(TEMPLATEPATH.'/single-audios.php');}

else{ include(TEMPLATEPATH.'/my-signle.php');}
?>

لینک به ارسال

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

با اینکه اینکارو کردم ، اما بازهم اطلاعات هدر به همه ی صفحات ایمپورت میشه !

لینک به ارسال

این برای ایجاد صفحه پست دلخواه براساس هر دسته هست. پوسته دسته جداگانه نیست.

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

لینک به ارسال

منظور من همین حرف شما بود. ببینید مثلا توی single-music من این رو گذاشتم :


<?php $info= get_post_meta($post->ID, 'info', true); ?>
<?php $cover = get_post_meta($post->ID, "cover", true); ?>
<?php $summary= get_post_meta($post->ID, "summary", true); ?>
<?php $writers= get_post_meta($post->ID, "writers", true); ?>
<?php $stars= get_post_meta($post->ID, "stars", true); ?>
<?php $director= get_post_meta($post->ID, "director", true); ?>
<?php $link= get_post_meta($post->ID, "link", true); ?>
<div id="main"><div class="wrap cf">
<div id="headline" class="cf">
<div class="inner">
<h1 id="title"><?php the_title(); ?></h1>
<div id="actions">
<?php dp_like_post(); ?>

<div class="dropdown dp-share">
<span class="dropdown-handle"><?php _e('Share', 'dp'); ?></span>

<div class="dropdown-content">
<?php dp_addthis(); ?>
</div>
</div>
</div>
</div><!-- end #headline>.inner -->
</div><!-- end #headline -->
<div id="content" role="main">
<?php while (have_posts()) : the_post(); global $post;?>

<div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
<div id="details" class="section-box">
<div class="section-content">
<div data-height="150">
<p id="meta">
<span class="author"><?php _e('Added by', 'dp'); ?> <?php the_author_posts_link(); ?></span>
<span class="time"><?php _e('on', 'dp'); ?> <?php the_time('Y-m-d'); ?></span>

<?php edit_post_link(__('Edit', 'dp'), ' <span class="sep">/</span> '); ?>
</p>
<div class="entry-content rich-content">

<?php the_content(); ?>
<?php wp_link_pages(array('before' => '<p class="entry-nav pag-nav"><span>'.__('Pages:', 'dp').'</span> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
</div><!-- end .entry-content -->

<div id="extras">
<h4><?php _e('Category:', 'dp'); ?></h4> <?php the_category(', '); ?>
<?php the_tags('<h4>'.__('Tags:', 'dp').'</h4>', ', ', ''); ?>
</div>
</div><!-- end #info -->
</div><!-- end .section-content -->

</div><!--end #deatils-->

</div><!-- end #post-<?php the_ID(); ?> -->

<?php dp_related_posts(array('number'=>get_option('dp_related_posts'))); ?>
<?php comments_template('', true); ?>
<?php endwhile; ?>
</div><!-- end #content -->
<?php get_sidebar(); ?>
</div></div><!-- end #main -->
<?php get_footer(); ?>

اما باز هم اطلاعات هدر درش میره !

لینک به ارسال

حالا اگر این راهی نداره ، میشه تو فانکشن ، کدی گذاشت که یه سری از متا ها به ادامه مطلب بعضی موضوعات بره؟

مثلا 4 تا متا بره به single_news.php

لینک به ارسال

میتوانید متا اضافه کنید


add_action('wp_head', 'add_meta_head');

function add_meta_head(){
if(is_single() && in_category(10)){
echo '<meta ..... />';
}
}

لینک به ارسال

ممنون پارسا جان.

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


<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'news', true);
wp_reset_query();
?>' />

لینک به ارسال

ممنون پارسا جان.

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


<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'news', true);
wp_reset_query();
?>' />

در فایل single اگر کوئری سفارشی نگرفته باشید یا کوئری ها ریست شده باشند مشکلی نیست


<?php
global $post;
$postid = $post->ID;
echo get_post_meta($postid, 'news', true);
?>

لینک به ارسال

پارسا جان الان این رو قرار دادم ، ارور داد !


function add_meta_head(){
if(is_single() && in_category(3)){
echo '<meta property='og:type' content='biavoice:song'/>';
}
}


Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in

لینک به ارسال

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


echo '<meta property="og:type" content="biavoice:song" /> ';

بجای ' ، " گذاشتم ! مشکلی که ایجاد نمیکنه؟

لینک به ارسال

مشکل دیگه ای که هست ، اینه !

وقی تابع php رو توی این متا ها میذارم باز هم ارور میده ! مثلا :


<meta property='og:title' content='<?php wp_title(); ?> />

زمینه دلخواه هم به شکل معمولی :


<?php echo $m192; ?>

وارد میکنم ، عین همین متن به متا میره و شیوه ای که شما گفتید رو وارد میکنم به ' گیر میده ! و وقتی هم که " میذارم جاش ، ارور :


Parse error: syntax error, unexpected '>'

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

برای هر بخش تامل کنید!

http://codex.wordpress.org/Function_Reference/wp_title

echo "<meta property='og:title' content='".wp_title('',false)."' />";

لینک به ارسال

سپاس پارسا جان. برای این گفتم که شلوغ کاری نشه ! :دی عذر میخوام.

برای فراخوانی زمینه های دلخواه باید چیکار کنم/

لینک به ارسال

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

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

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

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

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

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

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

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

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