カテゴリー別アーカイブ: ⑥Wordpress

サーバー上の削除できないファイル・フォルダの削除方法

時折WEBサーバー上に削除できないファイルが残ってしまう事があります。特に、Wordpressなどを使用した場合(PHP)や、CGIを扱った場合にそのような現象が起こる傾向にあるようです。

  • サーバーのコントロールパネルから該当ファイル削除
  • Dreamweaverで接続、リモートビューでファイル削除
  • FFFTPで接続、該当ファイルの削除

これらを試してみても、ファイルが削除できない場合、FFFTPの設定の変更で再度試すと削除に成功する可能性があります。

ホストの設定 > 高度

より、以下の項目の全てからチェックを外します。

  • LISTコマンドでファイル一覧を取得(L)
  • NLST-Rを使って高速に再帰検索(N)
  • フルパスでファイルをアクセスしない(F)

初期設定では通常1番目にチェックが入っており、それを外すと2番目の項目のチェックを外す事が可能です(1番目のチェックを外す前はグレーで変更不可状態)。これらのチェックをすべて外し、OKをクリック。改めて該当ファイルの削除を試みると成功する事があります。

この方法でもファイルやフォルダが削除できない場合は、Web Eraser というフリーソフトを試してみると良いでしょう。説明に従ってサーバー上に設置すると、自動的にWEBサーバー上のファイルを削除してくれるツールです。

もしもこれらの方法でうまくいかない場合でも、ホスティング会社に直接依頼をすれば、個別に対応してくれます。

 

WordPressで固定ページ内に記事一覧を表示させる

固定ページは通常html等で新たに構成したコンテンツが表示されますが、使用用途によってはある特定のカテゴリー一覧を表示させたい場合もあります。例えば、ナビゲーションの部分は通常は固定ページを表示させているが、その中の1つを「最新記事」などとし、記事として作成した投稿の一覧表示をさせたい場合などです。

こちらを実現するためには2つのステップが必要です。

  1. WordPressの固定ページ(あるいは記事)に「PHP」が書き込める状態にすること ※初期状態は出来ません。
  2. 該当のページに必要なPHPプログラムを書き込み、公開する

STEP1:Wordpressの固定ページ(あるいは記事)に「PHP」が書き込める状態にする方法

もっとも簡単な方法として、これを可能にするプラグインのインストールをお勧めします。

■インストールするプラグイン:「Exec-PHP

こちらを通常のプラグインのインストール方法通りにインストールします。「有効化」をすれば、特別な設定をせずとも既にPHPが書き込める状態になります。

Exec-PHP設定の補足

インストール、有効化しただけで使えますが、初期の状態では新規投稿(新規記事作成)をしようとするたびに管理画面の最上部に以下の警告文が表示されます。

Exec-PHP WYSIWYG Conversion Warning. Saving this article will render all contained PHP code permanently unuseful. Even if you are saving this article through the Code editor. You can turn off this warning in your user profile. Ignore this warning in case this article does not contain PHP code. Read the Exec-PHP documentation if you are unsure what to do next.

PHP WYSIWYG変換の警告。この記事を保存すると、コードエディタでこの記事を保存している場合であっても、格納されているすべてのPHPコードが恒久的に使えないようになります。この記事にPHPコードが含まれおらず、警告を無視したい場合は、ユーザプロファイルにて警告をオフにすることができます。不明な場合は、exec – PHPのマニュアルをお読みください。

STEP2:該当のページに必要なPHPプログラムを書き込み、公開する

今回は例として、ある固定ページを表示させた際に、コンテンツとしてある特定のカテゴリーの記事一覧を表示させます。

表示例…

記入するコード例


<?php query_posts($query_string . 'showposts=xxx&cat=yyy'); ?>  // xxx には表示させる最大数を、yyyには表示させるカテゴリーIDを入力
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<ul>
<li><?php the_time('Y年m月d日') ?><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
</ul>

<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
<?php query_posts($query_string . ""); ?>

WordPressでカテゴリーをクリックした際に記事のタイトル一覧を表示させる方法

WordPressの多くのテーマでは、カテゴリーをクリックした際には記事のタイトル及びその内容を含んだ全ての情報が表示されます。

今回実現したいのは記事の内容をそのまま表示させるのではなく、そのカテゴリー内の記事の一覧の表示です。

例えば以下のような形です。

これにより、ページ閲覧の場合には以下のようなステップを踏むことになります。

  1. カテゴリーのクリック
  2. そのカテゴリー内の記事一覧表示※上記のように
  3. タイトルをクリック
  4. 個別の記事ページへ

設定の手順

上記のように表示させたいページを生成するファイルを編集します。

  • カテゴリーページ(カテゴリーをクリックした際に表示させるページ) → category.php
  • アーカイブページ(月別の投稿をクリックした際などに表示させるページ) → archive.php
  • 検索結果ページ(サイト内検索を実行した際に検索結果として表示されるページなど) → search.php

上記は一例ですので、使用しているテーマによって異なる場合もあります。各テーマごとに適切な方法を選択する必要があります。

テーマによっては「category.php」は存在せず「archive.php」のみで構成されているということもあります。

例:archive.phpを編集する

テーマごとに表示方法(機能)が異なりますが、もっともシンプルにする場合は以下の内容が基本となります。

<?php get_header();?>
<h2><?php _e('記事一覧'); ?></h2>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div>
<lu>
<li><?php the_time('Y年n月j日') ?><a href="<?php the_permalink() ?> rel="bookmark"><?php the_title(); ?></a></li>
</lu>
</div>
<?php endwhile; else: ?>
<?php endif; ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>

上記は一例ですので、表示させたい形式に応じてカスタマイズすると良いでしょう。

WordPressで固定ページの内容をトップページなどに表示させる方法

今回実現したいのは、別途作成した「固定ページ」の内容をトップページの一部に表示させる方法です。よく見かけるサイト更新情報のリストではなく、内容そもそもの表示です。

手順(例:トップページに表示させる場合)

  1. 表示させたい内容を書き込み「固定ページ」を作成する
  2. 作成した固定ページIDをメモする。
    簡単な方法はとりあえずページを作成し、そのページを表示させ、
    URLの末尾の数字を確認する。「http://sample.com/?p=xxx」の「xxx」の部分がページID
  3. 「index.php」の挿入したい個所に以下のコードを書き込む。
<?php
$page_id = xxx;    //xxxに 固定ページIDを入力
$content = get_page($page_id);
echo $content->post_content;
?>

タイトルを表示させる場合は下記も合わせると実現できます

$content = get_page($page_id);
echo “<h2>” . $content->post_title . “</h2>n”;

タイトル+内容を表示させたい場合は

<?php
$page_id = xxx;    //xxxに 固定ページIDを入力
$content = get_page($page_id);
echo “<h2>” . $content->post_title . “</h2>n”;
$content = get_page($page_id);
echo $content->post_content;
?>

<h2>…</h2>は一例ですので、他のheadingタグでも良いでしょう。