Weaverでアーカイブの改行を反映させる【wordpress】

 

wordpressのテーマで、アーカイブやカテゴリーで改行や画像が全く反映されないものがいくつかある。

この場合、これは投稿を引っ張ってくる為に<?php the_excerpt(); ?>を使用していることが多い。
(これはWPの抜粋のためのコード)

<?php the_excerpt(); ?>を<?php the_content(); ?>に変えればOK。

excerpt(); content();については以下を参照のこと。

excerpt(); →http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_excerpt

content(); →http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_content

ただし、Weaverはループの定義をメイン(index.php)やarchive.phpなどで指定してるのではなくて、content.phpで一括指定してある。
weaverを使用する際は、content.phpの11行目あたりにある<?php weaver_the_excerpt_featured(); ?>を<?php weaver_the_content_featured(); ?>に書き換えればOK.

weaverは管理画面で行える設定が非常に多く、htmゃcss、PHPを知らなくてもカスタマイズが細かくできたり、ウィジェットエリアが多彩でけっこう使いやすいテーマかなと思うけど、その分ファイル数が多くて、管理画面>外観>テーマ編集からファイルを探したり記述を追いかけたりするのがちょっとだけ大変かも。

weaverとwever2010って何が違うんだろう??

jQueryの競合回避【WP】

 

【一般的】

head内jQueryよりも前に以下を記述。

<script>
jQuery.noConflict();
var j$ = jQuery;
</script>

jQueryの$を j$に書き換える。

 

【WP】
若干特殊
$ の代わりに jQuery を使用する。
MegaMenu Pluginだとこんな感じ↓
<script type=”text/javascript”>
jQuery (function(){
var SelfLocation = window.location.href.split(‘?’);
switch (SelfLocation[1]) {
case “justify_right”:
jQuery(“.megamenu”).megamenu({ ‘justify’:’right’ });
break;
case “justify_left”:
default:
jQuery(“.megamenu”).megamenu();
}
});
</script>

WP通常紹介されるnoConflictで上手くいかないので要注意。

目次生成コード【PHP】

 

2013/9/5追記
ブルートフォースアタックやWP改ざん等の被害が相次いでいます。
テンプレート以外でPHPを挙動させることはセキュリティ的にリスクを伴いますので、非推奨です。
以下のコードについても、ページ、投稿、ウィジェットで利用する場合はショートコードを作成して利用するようにしてください。
テンプレート以外で利用する場合は自己責任にてお願い致します。
⇒ショートコードの使い方
——————————————-

画像がある場合は画像も一緒に読み込むver。
画RSSが昇順になったような感じ。
index.phpとかに入れたり、ちょっと改造して組み合わせたらサイトマップ生成とかできそう。
sitemapプラグインのddsitemapgenも便利だけど、”いかにも自動生成”だから・・・。

そのうち気が向いたらやってみるかも?

ウィジェットの「投稿目次」でやってみた。
以下投稿目次のコード。

——————————————

<div style=”width: 250px; “>

<?php $posts = get_posts(‘posts_per_page=500&order=ASC&orderby=date’);
$i=0;
foreach($posts as $post) :
setup_postdata($post);
?>

<a href=”<?php echo $post->guid ?>”>
<?php
$images =& get_children( ‘post_type=attachment&post_mime_type=image&post_parent=’.$post->ID);
if ( empty($images) ) {/*画像を使っていない場合*/
} else {
foreach ( $images as $attachment_id => $attachment ) {
$images=array_reverse(array_keys($images));
echo wp_get_attachment_image( $images[0], “thumbnail”);
break;
}
}
?></a>
<p><a href=”<?php echo $post->guid ?>”>● <?php echo $post->post_title ?></a></p>

<?php $i3++; endforeach; ?>

</div>

 

——————————————

 

画像なしでタイトルだけ引っ張ってくるver

——————————————

<div style=”margin-top:20px;margin-left:100px;”>
<?php $posts = get_posts(‘posts_per_page=10&order=ASC&orderby=date’);
foreach($posts as $post) :
setup_postdata($post); ?>
<dd>● <a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></dd>
<?php $i1++; endforeach; ?>
<?php if($i1>=1000){ ?>

<? } ?>
</div>

<p></p>

 

——————————————

 

タイトルだけじゃなくて本文の抜粋を追加したい場合はタイトルひっぱった後にexcerptを入れてあげればOK。

 

前略

<p><a href=”<?php echo $post->guid ?>”>● <?php echo $post->post_title ?></a></p>
<?php the_excerpt(); ?>

後略