mizube
フォーラムへの返信
-
フォーラム: テーマ
返信が含まれるトピック: プロフィールの経歴を改行したい> pinxnake さん
とりあえずうまくいったようでよかったです。
プログラムのことは私もよく分かっていませんので、何か間違っているかもしれませんが、
op_author_info() の中身を見てみると、 get_userdata() で表示中の Author に該当するユーザー情報のオブジェクトを取得しています。 $curauth は current user の略でしょうね。これにユーザー情報が入りました。
その文のちょっと後に $curauth->description を echo している箇所があります。$curauth->description が current author の description だとすると、 get_the_author_description() となんか似ていますよね?
ですからきっと、ここを wpautop() してあげれば良いのではないかと思います。echo wpautop( $curauth->description );
これで多分いけるんじゃないでしょうか? 試してみてください。
> lilyfan さん
私の環境でもブロック要素は大概無視されてましたので調べてみたところ (@2.6.5, 2.7RC1) 、経歴欄のデフォルトのフィルターに wp_filter_kses() があるので、使用できるタグは $allowedtags のみのようです。
これは、購読者でも自分の経歴欄を編集することが出来るから? でしょうか? ともかくご報告までフォーラム: テーマ
返信が含まれるトピック: プロフィールの経歴を改行したい<?php echo wpautop( get_the_author_description() ); ?>
でどうですか?
ただしこの場合、正確には入力した通りではなく、 WordPress の投稿のように、通常の改行は br 要素に (リッチエディタでいう Shift + Enter)、 1 行開けた場合には p 要素 (リッチエディタでいう Enter) になります。
フォーラム: 使い方全般
返信が含まれるトピック: 特定のタグが付けられた記事の場合のみサイドバーの内容を追加したい> TAMA-wp さん
こちらこそ質問の内容を誤解していました。ごめんなさい。
方法としてはjim912 さんのやり方で出来ます (> フォローありがとうございました!)。補足ですが、 has_tag() というテンプレートタグもあります (WP2.6.0 以降?)。
この条件分岐タグはWordPress ループ内専用ですが、タグ名とスラッグの両方にアプローチします。
has_tag() の判定結果を利用する場合、もしループ後にサイドバーを読み込んでいるなら、ループ内で<?php if ( has_tag('タグ') ) $has_tag = true; ?>
としておき、サイドバーの方で
<?php if ( $has_tag ) : ?> <!-- 追加内容 --> <?php endif; ?>
とすればよさそうです。
フォーラム: 使い方全般
返信が含まれるトピック: 特定のタグが付けられた記事の場合のみサイドバーの内容を追加したいCodex はご覧になりましたか? is_tag() という条件分岐タグがあります。
<?php if ( is_tag( 'slug' ) : ?> <!-- 追加内容 --> <?php endif; ?>
あるいは
<?php if ( is_tag( utf8_uri_encode( 'タグ' ) ) ) : ?> <!-- 追加内容 --> <?php endif; ?>
のようにすれば OK です。
英数字 + ハイフンのタグや、タグのスラッグを編集している場合は前者、タグが日本語で、特にスラッグを編集していない場合は後者です。フォーラム: テーマ
返信が含まれるトピック: リンクページを画像と名前と説明をセットでリストにしたい> shokun0803 さん
ご指摘の通り、いきなりフィルタの関数を作れというのは、かえってカスタマイズが難しそうな印象を与えてしまうかもしれませんね。今後書き込む際には注意したいと思います。
というわけで補足ですが、テンプレート内に以下の例のように直接記述しても問題ないと思います。
<?php $regex = '#(<a[^>]+>)<img[^>]+alt="([^"]+)"[^>]+/>(</a>)#is'; $replace = "$0$1$2$3"; $links = wp_list_bookmarks( 'echo=0' ); echo preg_replace( $regex, $replace, $links ); ?>
しかし関数を別に用意した方がテンプレート内がすっきりし、テンプレートを作る上で分かりやすいかなと思ったこと、 functions.php にペーストするだけでとりあえず使えてテンプレートの修正がいらないという点から、フィルターをかける方法を提示したまでです。しっくりくる方でお試しください。
フォーラム: テーマ
返信が含まれるトピック: リンクページを画像と名前と説明をセットでリストにしたいwp_list_bookmarks() は他のテンプレートタグの例に漏れず apply_filters() されているので、フィルター用の関数を作って add_filter() してあげれば、内容を変更できます。
良い正規表現ではないですが以下にサンプルを提示しておきます。テーマの functions.php にペーストしてください。
<?php function filter_wp_list_bookmarks( $links=null ) { if ( empty($links) ) return ''; return preg_replace('#(<a[^>]+>)<img[^>]+alt="([^"]+)"[^>]+/>(</a>)#is', "$0$1$2$3", $links); } add_filter('wp_list_bookmarks', 'filter_wp_list_bookmarks'); ?>
preg_replace() の第 2 引数の $0 はバナーリンク、 $1$2$3 は img タグから抽出したタイトルのリンクに相当します。お使いのテーマに合うよう、適宜マークアップを修正するなどしてみてください。
それから、リンクページ以外のウィジェットなどでもリンクを利用されていて、そちらではこの挙動では困るという場合は、 functions.php に記述した上記の add_filter() を削除し、リンク用のページテンプレートの wp_list_bookmarks() 部分を以下のように記述してください。これで他には影響がなくなると思います。
<?php add_filter('wp_list_bookmarks', 'filter_wp_list_bookmarks'); wp_list_bookmarks(); remove_filter('wp_list_bookmarks', 'filter_wp_list_bookmarks'); ?>
# 尚、このサンプルでは wp_list_bookmarks の出力内容にリンク付きの img タグがあると、同じように置換されてしまいますのでご注意ください。
—-
内容を取得してそのままechoしても表示が変わらないんですよね・・・
WordPress のいくつかのテンプレートタグにある echo フラグは、いずれも一連の処理が終わった文字列を最後に echo するか return するかの判断のためのものです。そのまま echo しただけであれば、表示が変わらないのは当然だと思いますよ。むしろ内容が変わってしまうようなことがあれば、その方が問題だと思います。
フォーラム: 開発版
返信が含まれるトピック: 2.7beta3でのGravatar表示サイズについてwp_list_comments(); でコメントのリストを出力しているようですね。
この関数は wp-includes/comment-template.php で定義されているようです。関数の内容を見てみると、第 1 引数のパラメータに avatar_size というのがあり、これのデフォルトが 32 になっているようですので、例えば 50*50 にしたい場合は
<?php wp_list_comments('avatar_size=50'); ?>
あるいは
<?php wp_list_comments(array('avatar_size' => 50)); ?>
と指定してやれば良いようです。動作は 2.7-beta3-9948 にて確認しました。
…っと、解決されたようですね。すみません。折角なので残しておきます
フォーラム: 開発版
返信が含まれるトピック: 2.7 beta3 のページ編集の挙動が怪しいまさにそれですね!
書き込む前に 本家の Forum や Trac の方は軽くチェックしてみたのですが、
Trac に報告されているのはやはりリリース後すぐのことだったようですね。
詳しく見ていなかったようです。失礼しました。
なお、こちらでも 最新の trunk について正しく動作しているのを確認しました。
カテゴリーのクイック編集の挙動が ? というのはありましたが、
これはまた別の話題なので割愛します。これまで Trac にてチケットを作成したことがないのですが、
出来そうならやってみたいと思います。ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: index.phpのファイル名を変更後、http://example.com/でURLを表示したいlilyfan さんの説明なさっている方法で実現できたと思うのですが、残念です。補足すると
1. ブログ用のページテンプレートをご利用のテーマのフォルダ内に以下のように作成します (ここではファイル名を page-blog.php とします)。通常は index.php を include するだけでいいと思います。
<?php /* Template Name: Blog */ include TEMPLATEPATH . '/index.php'; ?>
1. index.html の内容を、以下のような体裁で、ご利用のテーマのフォルダ内にページテンプレートとして作成します (ここではファイル名を front_page.php とします)。
<?php /* Template Name: FrontPage */ ?> <html> <head> <title></title> </head> <body> <h1><a href="<?php bloginfo('siteurl'); ?>/blog/"><?php bloginfo('name'); ?></a></h1> </body> </html>
リンクの /blog/ 部分は、以下で設定する、ブログページのスラッグにします (ここでは blog)。
3. 管理 > ページ作成 で、タイトルだけの「フロントページ」と「ブログページ」を作成し、ページテンプレートをそれぞれ、 1 で作成した「FrontPage」、 2 で作成した「Blog」に設定し、ブログページのスラッグを blog などとします。
4. 管理 > 設定 > 表示設定 の「トップページの表示」にて、トップページを「フロントページ」、ブログページを「ブログページ」に設定します。
5. テーマの header.php または index.php などのタイトル部分のリンクを修正します。 (/ を /blog/ など)
6. 必要に応じてパーマリンク構造をカスタマイズします。
フォーラム: 使い方全般
返信が含まれるトピック: 2つ目のサイドバーの編集について説明、わかりにくかったでしょうか?
eval() は渡された文字列を PHP のコードとして実行しますので、今回の場合 gzinflate() が返す文字列は footer.php の生のテンプレートのコードである、ということになりますよね?
gzinflate() が返す文字列を eval() ではなく echo などでそのまま出力すれば、 PHP のコードとして実行されない単なる文字列としてのテンプレートのコードが得られます。
ただし、 Content-Type: text/html; として出力された場合、テンプレートのコードの HTML タグなどはブラウザ上ではその要素としてレンダリングされるので、ブラウザからテンプレートのコードをコピーする場合は HTML のソースを表示し、ソースからコピーする必要があります。
で、手順としては
- footer.php のコードの
eval(gzinflate(base64_decode("...省略...")));
をecho gzinflate(base64_decode("...省略..."));
に書き換える - 表示をブラウザで確認、マウスの右クリックなどからHTMLのソースを表示する
- ソースを見るとソース内の footer.php 部分に生のテンプレートの内容がそのまま出力されているので、該当する範囲をコピーし、 footer.php のコードすべてと、コピーしたテンプレートを置き換える
- 置き換えた footer.php のコード中の、カテゴリーとブログロールの箇所を削除する (コピーライトは残す)
という流れでやればいいと思います。
どこからどこまでが footer.php による出力か分からない場合は footer.php を<!-- BEGIN footer.php --> <?php echo gzinflate(base64_decode("...省略...")); ?> <!-- END footer.php -->
のように書いてあげればソースを見た時分かりやすいかもしれません。
# 何回か加筆修正しました。すみません。
フォーラム: 使い方全般
返信が含まれるトピック: 2つ目のサイドバーの編集についてfooter.php では gzinflate() が返す文字列を eval() してますよね。
つまり gzinflate() が返す文字列をそのまま出力させてやればコードを取得可能です。<?php echo gzinflate(base64_decode(...)); ?>
これで表示された文字列をコピーして footer.php のコードすべてと置き換えればいいと思います。
(ブラウザからコピーする場合はソースを表示して、ソースからコピー)# もし改変について気掛かりがあっても、作者の意向を汲んで (あるいは敬意を表して)
# コピーライトをそのまま残しておけばいいでしょう。フォーラム: 使い方全般
返信が含まれるトピック: query_posts で cat/tag 引数等を指定すると orderby 引数等が機能しない長い間放置していました。結局私の調べ方が悪く、原因が分からずじまいです。
while 文の前に $wp_query->posts を array_multisort() でソートすることで対応しました。# 真の意味では全く解決していないのですが、迷惑がかかりますので解決済みにしておきます。
フォーラム: プラグイン
返信が含まれるトピック: 投稿時に文字サイズを変更??ngoa さん、こんにちは。
文字サイズ変更のサンプルプラグインを書いてみた者ですが、ちょっと出遅れちゃいましたね。
TinyMCE Advanced の方が優秀ですので、この書き込みは無視してくださって構いません。問題は、バージョンの違いによるものではないようです。
実際に私の環境では普通に動作しています。以下のトピックで同じ質問がありました。
http://ja.forums.wordpress.org/topic/644文字サイズ変更のサンプルプラグインを有効にしたあと、キャッシュの削除は試されましたか?
キャッシュが残っているとプラグインを有効にしてもツールバーには表示されません。フォーラム: WordPress への貢献と参加
返信が含まれるトピック: 新サイトのデザイン(外装)についてbono さん、丁寧な返信をしていただき、ありがとうございます。
事情は把握できました。別デザインというのはなんだか楽しみです。
来年だろうと、再来年だろうと、対応が遅れたからといって、何も問題ありません。まずはご自愛ください (含 PC)。
フォーラム: WordPress への貢献と参加
返信が含まれるトピック: 新サイトのデザイン(外装)についてデザイン、という分野に入るかどうか分かりませんがこちらに書き込みます。
現在 WordPress Codex 日本語版 の favicon が表示されません。
ソースで指定されている URL にアクセスすると、
Wiki の favicon.ico「現在このページには内容がありません」のページが表示されてしまいます。それから、 WordPress Codex 日本語版 には実は OpenSearch が用意されていますよね。自前で準備しなくて良かったので、とても便利なのですが、Firefox で(他は未確認)アイコンイメージがないのが残念でした。
favicon.ico にアクセスできないことが分かり、こちらも確認したところ、やはり現在 WordPress Codex 日本語版 の OpenSearch の xml データでは Image 要素で 上記 favicon.ico の URL が指定されていました。もしよろしければこのあたりの問題を解決していただけますと、嬉しいです。
- footer.php のコードの