Home > WordPress

WordPress

WordPressのコメントフィードのみを無効にする方法

概要

WordPressの初期状態では、RSSフィードが2つ(記事のフィードとコメントフィード)提供されています。
これを記事のフィードのみ提供するように制限します。

手順

wp-includes/general-template.phpを開きます。
フィードを2つ出力している以下の部分のうち、下の行をコメントアウトします。

	echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr(sprintf( $args['feedtitle'], get_bloginfo('name'), $args['separator'] )) . '" href="' . get_feed_link() . "\" />\n";
// 	echo '<link rel="alternate" type="' . feed_content_type() . '" title="' . esc_attr(sprintf( $args['comstitle'], get_bloginfo('name'), $args['separator'] )) . '" href="' . get_feed_link( 'comments_' . get_default_feed() ) . "\" />\n";

ブラウザでホームページを表示してコメントフィードが提供されていないことを確認します。

以上で完了です。

補足

WordPress 3.3.2では1613行目にあたります。
Wordpressのバージョンアップ時にgeneral-template.phpが更新された場合、上記の手順をもう一度実行する必要があります。

WordPressのパーマリンクをカスタマイズするときの注意点

WordPressの個別投稿ページのパーマネントリンクURLは自由に設定ができますが、あまり単純なURLを指定すると画象やカテゴリーのスラッグと重複して厄介なことになります。

・パーマリンクの設定欄でカスタム構造を選び、「/%postname%」を設定。
・画像ファイル「012.gif」をアップロードする。
・新規に記事を作成し、投稿スラッグに「012」を設定して公開する。

画像ファイルのスラッグが「012」になってしまった場合、「http://(ドメイン名)/012 」のURLを表示しても記事が表示されなくなります。

WordPress:スラッグからURL(URI)を取得する方法

概要

WordPressにて、スラッグ名が分かっている時にそれに対応するURLを取得する方法です。
ループ外でも使用できます。

WordPress3.3.2にて動作確認済み。

カテゴリースラッグからカテゴリー表示のURLを取得
//カテゴリースラッグからカテゴリーを取得
$cat = get_category_by_slug('slugname');
//カテゴリーIDからURL文字列を取得
echo get_category_link( $cat->cat_ID );
固定ページスラッグから固定ページのURLを取得
//固定ページのスラッグからページを取得
$page = get_page_by_path('slugname');
//ページIDからURLを取得
echo get_permalink( $page->ID );
普通の投稿記事のスラッグから投稿1件表示のURLを取得

投稿のIDを取得するのに少しコツが要ります。

//投稿スラッグ(固定ページは除く) から 投稿idを取得。
function get_post_id_by_slug($post_slug){

	$args=array(
	  'name' => $post_slug,
	  'post_type' => 'post',
	  'post_status' => 'publish',
	  'numberposts' => 1
	);
	$found_posts = get_posts($args);
	if( $found_posts ) {
		return $found_posts[0]->ID;
	}else{
		return NULL;
	}
}

//投稿スラッグからidを取得
$id = get_post_id_by_slug( 'slugname' );
//idからURLを取得
echo get_permalink( $id );

WordPress のインポートツールでエラーが発生する時の対処方法

概要

WordPressのダッシュボードにて、「ツール-インポート-Worpressファイル」 を選択するとエラーメッセージ「API のリクエストに際して、予期しない HTTP エラーが発生しました。」が表示されてしまう時の対処方法です。

原因

インポートするためのインポートツールはWordpressの標準機能ではなく、プラグイン扱いです。
はじめてインポートをしようとした時に、Wordpressのサーバーがプラグインファイルをインターネットからダウンロードします。
これが何らかの原因でできないとエラーになります。
(特にローカルテストサーバー等でWordpressのサーバーがインターネットに直接接続できない環境で発生しがちです。)

対処手順

以下のプラグインファイルをダウンロードします。
WordPress › WordPress Importer « WordPress Plugins
zipファイルを解凍して、中身をWordpressが設置されているサーバーの /wp-content/plugins フォルダへアップロードします。

WordPressのダッシュボード画面にて、ツール-インポート-Worpressファイルを選択して動作を確認します。

補足

インポート先のサーバーに対して既にFTP等で記事で使用する画像ファイルをアップロード済みの場合は、インポート時の設定画面で
「Download and import file attachments」にはチェックを入れずに実行します。

記事内の画像リンクがおかしい場合には、インポートするバックアップファイル内にて記事ごとの「」の項目を確認します。

SyntaxHighlighter 2.3の予約語一覧表(WordPress)

WordPress用のプラグインSyntaxHighlighterは、プログラムのコードをタグ(以下の表参照)で囲うことにより、ソースコードに適した形式で表示できます。
(例)
[予約語タグ]
プログラムのコード
[\予約語タグ]

種類 予約語 [ ]で囲う
Web標準  
CSS スタイルシート css
JavaScript js, jscript, javascript
html html
XML xml, xhtml, xslt,xhtml
   
Web周辺  
ActionScript3 as3, actionscript3
ColdFusion cf, coldfusion
Java java
PHP php
Perl perl, pl
Python py, python
Ruby rails, ror, ruby
SQL sql
   
プログラミング言語  
C# c-sharp, csharp
C++ cpp, c
Delphi delphi, pas, pascal
Erlang erl, erlang
Groovy groovy
JavaFX jfx, javafx
Scala scala
Visual Basic vb, vbnet
   
その他  
Bash/shell bash, shell
Diff diff, patch
Text テキストファイル plain, text
PowerShell ps, powershell

WordPressの記事に対する最大コメント数を制限する方法

概要

WordPressにて、ひとつの記事に対して投稿できるコメントの数を制限する方法です。
コメント欄で延々と続く会話や、炎上の予防にどうぞ。

手順

・使用中のテーマに含まれるcomments.phpを編集できるように開きます。
・投稿コメントフォームを出力している部分(htmlのformを出力している部分)の手前に下記の条件文を追加します。

例:コメントを最大20件で制限するとき

< ?php	if(get_comments_number() < 20) : ?>

/* 投稿コメントフォームを出力するコード */
<form class="post" method="post" ......>

< ?php	endif; ?>

wordpressの投稿をTwitterにポストするプラグインSimple Tweet

wordpressからTwitterにポストするだけのプラグインですが、必要最小限の機能にとどめているのがかえって有用です。
Simple Tweet

wordpressでカテゴリ内の記事タイトル一覧を表示する

○概要
wordpress 2.8以降のページ内・サイドバーなどで、現在表示している記事と同じカテゴリの記事名とリンクの一覧を全件表示するコードです。
テーマファイルに挿入して使用しますが、サイドバーにウィジットとして表示するにはExecutable PHP widgetなどのプラグインを使用してください。

なお、ページ内に表示されている記事のリストを表示するだけならCategory Posts Widgetを使用した方がお手軽です。

○サンプル
このサイトのカテゴリ別ページにて、サイドバーの表示に使用しています。

○コード
(2012/05/08更新)


<?php
$catname= single_cat_title("",false);
$cat=get_cat_ID($catname);
?>

<?php if ( is_category() ) : ?>
	if (have_posts()) :  query_posts("&posts_per_page=-1&cat=$cat"); ?>

	<ul>
	 <?php while (have_posts()) : the_post(); ?>
	    <li ><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>">
	<?php the_title(); ?></a><br /></li>

	<?php endwhile; endif; ?>
	<?php wp_reset_query(); ?>
	</ul>

<?php endif; ?>

○補足
現在表示中のカテゴリIDを取得する際に下記のようなコードでも一見できそうですが、ひとつの記事に複数カテゴリが設定されていると正しく動作しません。その対策としてsingle_cat_titleを使用しています。

$cats = get_the_category();
$cate = $cats[0];
$cat = $cate->cat_ID; 

Home > WordPress

Feeds
Meta

Page Top