備忘録
2018年07月18日

[初ブログ]今回のホームページリニューアル制作作業で大変だった事

今回、ホームページのリニューアルでやりたかった事

お客様からホームページ内にブログ設置をして欲しいとの要望があり、これまでも設置してきましたが、ブログ機能をさらに充実させたいとの事で自社ホームページで実践してみることにしました。実践の中でハマった事を備忘録としてブログにします。今回の充実させる機能としては以下になります。サイドバーの充実カテゴリー毎に記事一覧を表示させる

今回の作業で大変だったこと

当社がWord pressでホームページを作る場合は、オリジナルデザインをテーマに変換しホームページを作るため、functions.phpをはじめ多くのphpファイルを変更・追加しなければなりませんでした。その中で一番ハマったのが、カテゴリー毎に記事を表示されるカテゴリーファイルでした。

今回の作業を解決に導いた解決法

まず、1ページに10件の記事を表示させたいので表示させたいタグの箇所に

<?php
query_posts('showposts=10&cat='.$category->cat_ID);
if (have_posts()) : while (have_posts()) : the_post();
?>

次に表示している記事がどのカテゴリーなのかをわかりやすくする為、カテゴリ名を

<?php
  $category = get_the_category();
  $cat_id   = $category[0]->cat_ID;
  $cat_name = $category[0]->cat_name;
  $cat_slug = $category[0]->category_nicename; ?>
<?php echo $cat_name; ?>

サイドバーを表示させる箇所に

<?php dynamic_sidebar('post top widget'); ?>

functions.phpには

register_sidebar(array(
     'name' => 'post top widget' ,
     'id' => 'post top widget' ,
     'description' => 'Widgets in this area will be shown on the article top.',
     'before_widget' => '<div class="side_menu">',
     'after_widget' => '</div>',
     'before_title' => '<h4>',
     'after_title' => '</h4>' ));

add_filter( 'wp_list_categories', 'my_list_categories', 10, 2 );
function my_list_categories( $output, $args ) {
  $output = preg_replace('/<\/a>\s*\((\d+)\)/',' ($1)',$output);
  return $output;
}

以上のコードで解決しましたが、phpをもっと勉強しなければと実感した作業でした。