カテゴリ:WordPress( 4 )

WordPress で投稿記事のURLを変更したい場合

WordPressでコーポレートサイトとか作っているときクライアントさんが入力する投稿記事を
  http://example.com/blog/
みたいなURLのときに表示させたい。

そんな方法いろいろ用意されてるだろう、とタカをくくっていたら意外と無かった。
いちばんシンプルなのはカスタム投稿タイプを作ることですが、それすら作るのが面倒な場合(タクソノミーを作んなきゃいけないとか)の対処法です。

ひとことで言うと、ダミーの固定ページを作成して、その中で query_posts を使ってクエリを書き換えてから、archive.php などを読み込ませる、という方法になります。邪道。


以下、ブログページを http://example.com/blog/ で表示させたい場合の方法です。

  1. 固定ページで 適当なページを作成して、スラッグを "blog" にしておく。内容はカラでOK。
  2. テーマファイルに page-blog.php を作成する。
  3. page-blog.php 内で下記を実施。
  • query_posts を使ってクエリを書き換える。
    こんな感じとか↓

    query_posts( array(
    'paged'=> get_query_var('paged') ? get_query_var('paged') : 1,
    'post_type' => 'post',
    'posts_per_page' => 2, // 1ページあたりの表示件数
    ));

  • 記事一覧のテンプレートが archive.php の場合、
      require_once 'archive.php';
    を実行させる。

以上です。
ただし、その後404とかなって表示できなかったり、ページャーで2ページ目に移動しなかったら表示されなかったりすることがあります。
その場合は一度 WordPress のパーマリンクの設定を開いて、設定を保存してください。
これでmod-rewrite系の設定が更新されるので直るみたいです。



[PR]
by golorih | 2015-12-16 18:27 | WordPress | Trackback | Comments(0)

ステップサーバーでPHPのアップロード上限サイズを変更する方法

デフォルトが1MBだったので、.htaccess やら phpファイル内で ini_set関数 やら使ったりしたけども直らなくて、
ダメ元でステップサーバーに問い合わせをしてみたら

「じゃあこっちで上限を10MBに上げときますね^^」

的な返信がありましてどうにかなりました。
ありがとうございます!


[PR]
by golorih | 2015-10-01 14:12 | WordPress | Trackback | Comments(0)

WordPress 4.2.3 で一部ショートコードが動作しなくなる問題

WordPressで使用していたショートコードが、4.2.3への自動アップデート後に動作しなくなる問題が発生。
ぐぐったら下記のようなフォーラムがありました。


リンク先には対処法が掲載されていますので参考にしてください。


なお海外でもそこそこ話題になっているようです。
XSS防止のためのセキュリティ向上の為だとかなんとか。


ソースコードを読んでみると、ショートコードの利用を許可するタグや属性名が細かに設定されていました。
ソースの場所は wp-includes/kses.php の60行目以降です。
下記で true と設定されているタグ以外はショートコードが実行されない模様。
参考までに貼り付けておきます。



$allowedposttags = array(
'address' => array(),
'a' => array(
'href' => true,
'rel' => true,
'rev' => true,
'name' => true,
'target' => true,
),
'abbr' => array(),
'acronym' => array(),
'area' => array(
'alt' => true,
'coords' => true,
'href' => true,
'nohref' => true,
'shape' => true,
'target' => true,
),
'article' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'aside' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'audio' => array(
'autoplay' => true,
'controls' => true,
'loop' => true,
'muted' => true,
'preload' => true,
'src' => true,
),
'b' => array(),
'big' => array(),
'blockquote' => array(
'cite' => true,
'lang' => true,
'xml:lang' => true,
),
'br' => array(),
'button' => array(
'disabled' => true,
'name' => true,
'type' => true,
'value' => true,
),
'caption' => array(
'align' => true,
),
'cite' => array(
'dir' => true,
'lang' => true,
),
'code' => array(),
'col' => array(
'align' => true,
'char' => true,
'charoff' => true,
'span' => true,
'dir' => true,
'valign' => true,
'width' => true,
),
'colgroup' => array(
'align' => true,
'char' => true,
'charoff' => true,
'span' => true,
'valign' => true,
'width' => true,
),
'del' => array(
'datetime' => true,
),
'dd' => array(),
'dfn' => array(),
'details' => array(
'align' => true,
'dir' => true,
'lang' => true,
'open' => true,
'xml:lang' => true,
),
'div' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'dl' => array(),
'dt' => array(),
'em' => array(),
'fieldset' => array(),
'figure' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'figcaption' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'font' => array(
'color' => true,
'face' => true,
'size' => true,
),
'footer' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'form' => array(
'action' => true,
'accept' => true,
'accept-charset' => true,
'enctype' => true,
'method' => true,
'name' => true,
'target' => true,
),
'h1' => array(
'align' => true,
),
'h2' => array(
'align' => true,
),
'h3' => array(
'align' => true,
),
'h4' => array(
'align' => true,
),
'h5' => array(
'align' => true,
),
'h6' => array(
'align' => true,
),
'header' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'hgroup' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'hr' => array(
'align' => true,
'noshade' => true,
'size' => true,
'width' => true,
),
'i' => array(),
'img' => array(
'alt' => true,
'align' => true,
'border' => true,
'height' => true,
'hspace' => true,
'longdesc' => true,
'vspace' => true,
'src' => true,
'usemap' => true,
'width' => true,
),
'ins' => array(
'datetime' => true,
'cite' => true,
),
'kbd' => array(),
'label' => array(
'for' => true,
),
'legend' => array(
'align' => true,
),
'li' => array(
'align' => true,
'value' => true,
),
'map' => array(
'name' => true,
),
'mark' => array(),
'menu' => array(
'type' => true,
),
'nav' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'p' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'pre' => array(
'width' => true,
),
'q' => array(
'cite' => true,
),
's' => array(),
'samp' => array(),
'span' => array(
'dir' => true,
'align' => true,
'lang' => true,
'xml:lang' => true,
),
'section' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'small' => array(),
'strike' => array(),
'strong' => array(),
'sub' => array(),
'summary' => array(
'align' => true,
'dir' => true,
'lang' => true,
'xml:lang' => true,
),
'sup' => array(),
'table' => array(
'align' => true,
'bgcolor' => true,
'border' => true,
'cellpadding' => true,
'cellspacing' => true,
'dir' => true,
'rules' => true,
'summary' => true,
'width' => true,
),
'tbody' => array(
'align' => true,
'char' => true,
'charoff' => true,
'valign' => true,
),
'td' => array(
'abbr' => true,
'align' => true,
'axis' => true,
'bgcolor' => true,
'char' => true,
'charoff' => true,
'colspan' => true,
'dir' => true,
'headers' => true,
'height' => true,
'nowrap' => true,
'rowspan' => true,
'scope' => true,
'valign' => true,
'width' => true,
),
'textarea' => array(
'cols' => true,
'rows' => true,
'disabled' => true,
'name' => true,
'readonly' => true,
),
'tfoot' => array(
'align' => true,
'char' => true,
'charoff' => true,
'valign' => true,
),
'th' => array(
'abbr' => true,
'align' => true,
'axis' => true,
'bgcolor' => true,
'char' => true,
'charoff' => true,
'colspan' => true,
'headers' => true,
'height' => true,
'nowrap' => true,
'rowspan' => true,
'scope' => true,
'valign' => true,
'width' => true,
),
'thead' => array(
'align' => true,
'char' => true,
'charoff' => true,
'valign' => true,
),
'title' => array(),
'tr' => array(
'align' => true,
'bgcolor' => true,
'char' => true,
'charoff' => true,
'valign' => true,
),
'track' => array(
'default' => true,
'kind' => true,
'label' => true,
'src' => true,
'srclang' => true,
),
'tt' => array(),
'u' => array(),
'ul' => array(
'type' => true,
),
'ol' => array(
'start' => true,
'type' => true,
),
'var' => array(),
'video' => array(
'autoplay' => true,
'controls' => true,
'height' => true,
'loop' => true,
'muted' => true,
'poster' => true,
'preload' => true,
'src' => true,
'width' => true,
),
);


[PR]
by golorih | 2015-07-27 19:07 | WordPress | Trackback | Comments(0)

Featured Video Plus でサムネイル画像が出ない件

WordPress の動画投稿が簡単にできるプラグインに、 Featured Video Plus というのがある。動画の埋め込みとアイキャッチ画像の自動生成をしてくれる優れものなんだが
サムネイル画像を表示させようとテーマ内で the_post_thumbnail() を実行すると、なぜか iframe で動画を仕込もうとする。
いや、アイキャッチ画像のサムネイルが欲しいんだってば。

というわけで、フックしている部分を解除しようとソースを見たんだけども、該当箇所では赤字箇所のようにオブジェクトのインスタンスが渡されているわけです。

include_once( FVP_DIR . 'php/frontend.php' );
$featured_video_plus_frontend = new featured_video_plus_frontend($featured_video_plus);

add_filter( 'post_thumbnail_html', array( &$featured_video_plus_frontend, 'filter_post_thumbnail'), 99, 5);

その場合、remove_filter で解除するには、上記で登録した インスタンスそのもの を指定しなきゃいけないということで、
「あ、うん、ムリだコレ(絶望)」。


というわけで、該当テーマ内で

 remove_all_filters('post_thumbnail_html');

を実行させて、該当イベントのフィルターを全解除して対応しました。
とりあえず動いたのでよしとする。




追記:

下記に対応策がありました。

http://wordpress.stackexchange.com/questions/57079/how-to-remove-a-filter-that-is-an-anonymous-object



[PR]
by golorih | 2015-03-24 00:06 | WordPress | Trackback | Comments(0)


システム関連の個人的な備忘録。基本的にWindows関連です。

プロフィール

関連


Memoる

一生懸命だと知恵が出る
中途半端だと愚痴が出る
いい加減だと言い訳が出る

「やりたい」なんて言葉は使う必要が無い。「今やってる」「もうやった」「やらないことにした」なら使って良い。
まずは相手を好きになる、その次に相手のいい部分を探す、そして評価できる部分を見つける。それからです、誉めるのは。

カテゴリ

全体
ソフトウェア関連
ソフトウェア開発
Linuxサーバ
その他
Webサービス
MySQL
システム管理
test
バッチファイル
つぶやき
パソコンメーカー
jQuery
レビュー
実験と検証
セキュリティ対策
YahooPipes
vbs
ハードウェア関連
WordPress
JavaScript
HTML&CSS
Welcart
未分類

以前の記事

2016年 12月
2016年 10月
2016年 08月
2016年 07月
2016年 04月
2016年 03月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 05月
2015年 03月
2015年 01月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 06月
2014年 05月
2014年 04月
2014年 03月
2014年 02月
2014年 01月
2013年 12月
2013年 11月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 03月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2011年 11月
2011年 10月
2011年 09月
2011年 06月
2011年 05月
2011年 04月
2011年 03月
2011年 02月
2010年 12月
2010年 11月
2010年 10月
2010年 09月
2010年 08月
2010年 07月
2010年 06月
2010年 02月
2009年 12月
2009年 10月
2008年 12月
2008年 06月
2008年 05月
2008年 04月
2008年 03月
2008年 01月
2007年 12月
2007年 11月
2007年 08月
2007年 07月
2005年 09月
2005年 08月

お気に入りブログ

最新のコメント

>朝から >自宅の環境..
by Troro at 23:29
試した結果、記事の方法で..
by Tororo at 23:18
ONUに直接PCを接続す..
by 朝から at 07:18
実は私のキーボードもJと..
by 元群馬県人(現在九州人) at 08:48
>たぶんPC直結時に i..
by 11 at 17:44
僕の所はHGWとONUの..
by waka at 02:15
auひかり乗り換える前に..
by ふぅ~ at 14:49
ご教授ありがとうございま..
by 悩めるオッサン at 13:39
> 悩めるオッサン X..
by skn12 at 23:59
らっとさん、私が使ってい..
by IPアドレス変更したい at 07:40

人気ジャンル

ファン

記事ランキング

ブログジャンル

ネット・IT技術

画像一覧