wordpress で投稿者のプロフィールを表示させるようにしたい
コメント(9)
新しいものから |
古いものから |
ネスト表示 |
Re: wordpress で投稿者のプロフィールを表示させるようにしたい
Re: wordpress で投稿者のプロフィールを表示させるようにしたい
投稿者: kusuchin | 投稿日時: 2007-8-13 13:37
akikoaaさん、こんにちは。
実際に、WordPress 0.5.0 RC Final (Full package)をダウンロードして、ソースを見てみました。
標準での投稿者名のリンク先は、
XOOPS_URL/modules/wordpress/index.php?author=(user_id)
になっているみたいですね。
で、"author="で、モジュール内に検索を掛けてみましたところ、
以下のファイルの行がヒットしました。
※以下の箇所を参考にされてみては、いかがでしょうか。
modules/wordpress/wp_includes/template-functions-author.php
希望通りにする方法は、ぱっと思いつくので2通りありました。
(1)get_author_link()関数をいじっちゃう
(2)希望通りの関数を新たに定義し、get_author_link()関数を呼び出している箇所で、
必要に応じ、新しい関数の呼び出しに置き換える
(1)の方が簡単かと思いますが、標準のget_author_link()関数を必要とする
箇所もある可能性もあるので、判断は難しいですね。
例えば、get_author_rss_link()関数内でも、get_author_link()関数を呼び出しており、
(1)の場合ですと、都合が悪くなる可能性があります。
そのへんは、"get_author_link"で検索を掛けてみて、
御自身で判断されるのが良いかと思います。
実際に、WordPress 0.5.0 RC Final (Full package)をダウンロードして、ソースを見てみました。
標準での投稿者名のリンク先は、
XOOPS_URL/modules/wordpress/index.php?author=(user_id)
になっているみたいですね。
で、"author="で、モジュール内に検索を掛けてみましたところ、
以下のファイルの行がヒットしました。
※以下の箇所を参考にされてみては、いかがでしょうか。
modules/wordpress/wp_includes/template-functions-author.php
function get_author_link($echo = false, $author_id, $author_name="") {
$permalink_structure = get_settings('permalink_structure');
if ($permalink_structure == '') {
$link = wp_siteurl() . '/index.php?author='.$author_id;
} else {
if ($author_name =='') $author_name = $GLOBALS['cache_userdata'][wp_id()][$author_id]->user_login;
// Get any static stuff from the front
$front = substr($permalink_structure, 0, strpos($permalink_structure, '%'));
$link = wp_siteurl() . $front . 'author/';
$link .= rawurlencode($author_name) . '/';
}
return _echo($link, $echo);
}希望通りにする方法は、ぱっと思いつくので2通りありました。
(1)get_author_link()関数をいじっちゃう
(2)希望通りの関数を新たに定義し、get_author_link()関数を呼び出している箇所で、
必要に応じ、新しい関数の呼び出しに置き換える
(1)の方が簡単かと思いますが、標準のget_author_link()関数を必要とする
箇所もある可能性もあるので、判断は難しいですね。
例えば、get_author_rss_link()関数内でも、get_author_link()関数を呼び出しており、
(1)の場合ですと、都合が悪くなる可能性があります。
そのへんは、"get_author_link"で検索を掛けてみて、
御自身で判断されるのが良いかと思います。
Re: wordpress で投稿者のプロフィールを表示させるようにしたい
Re: wordpress で投稿者のプロフィールを表示させるようにしたい
投稿者: kusuchin | 投稿日時: 2007-8-13 17:24
引用:
まずは、勉強してみてください。
先程、掲載させて頂きましたソースコード部分がずばり回答の状態です。
そのソースコードを見た上で、わからないということでしたら、
PHPの本当の基礎の部分だけでもよろしいですので、勉強してみてください。
で、PHPの基礎力をつけた上で、以下のコメントを参考にして頂ければと思います。
(※自己責任でお願い致します。)
●WordPressの投稿者名のリンク先をuserinfo.phpに変更するカスタマイズ
【手順1】以下のソースコードを先程のソース直下にでもコピペしてください。(※追加挿入)
modules/wordpress/wp_includes/template-functions-author.php
【手順2】modules/wordpress/wp_includes/template-functions-author.php内の
73行目の以下の"get_author_link"を"get_author_userinfo_link"に置き換えてください。
【手順3】投稿者名のリンク先が、userinfo.phpになったことをWeb上で確認してみてください。
※今回の件に関しまして、こちらもそれなりの時間と労力を費やしておりますので、
Web上ででもよろしいですので、PHPの簡単なマニュアルを見つけ、御一読お願い致します。
※バージョンアップ時にでも対応できるように、必ず、カスタマイズの履歴が
残るようにしてください。
(手書きでもデータでもよろしいですので。)
私の場合だと2が適切なのかなと思ったのですが、関数の定義の仕方などが分かりません。。
プログラムについてはあまり詳しく分からないので、どうしたものかと思っています。
まずは、勉強してみてください。

先程、掲載させて頂きましたソースコード部分がずばり回答の状態です。
そのソースコードを見た上で、わからないということでしたら、
PHPの本当の基礎の部分だけでもよろしいですので、勉強してみてください。
で、PHPの基礎力をつけた上で、以下のコメントを参考にして頂ければと思います。
(※自己責任でお願い致します。)
●WordPressの投稿者名のリンク先をuserinfo.phpに変更するカスタマイズ
【手順1】以下のソースコードを先程のソース直下にでもコピペしてください。(※追加挿入)
modules/wordpress/wp_includes/template-functions-author.php
function get_author_userinfo_link($echo = false, $author_id, $author_name="") {
$permalink_structure = get_settings('permalink_structure');
if ($permalink_structure == '') {
$link = XOOPS_URL . '/userinfo.php?uid=' .$author_id;
} else {
if ($author_name =='') $author_name = $GLOBALS['cache_userdata'][wp_id()][$author_id]->user_login;
// Get any static stuff from the front
$front = substr($permalink_structure, 0, strpos($permalink_structure, '%'));
$link = wp_siteurl() . $front . 'author/';
$link .= rawurlencode($author_name) . '/';
}
return _echo($link, $echo);
}【手順2】modules/wordpress/wp_includes/template-functions-author.php内の
73行目の以下の"get_author_link"を"get_author_userinfo_link"に置き換えてください。
function the_author_posts_link($idmode='', $echo=true) {
return _echo('<a href="' . get_author_link(0, $GLOBALS['authordata']->ID, $GLOBALS['authordata']->user_login) . '" title="' . sprintf("Posts by %s", the_author($idmode, false)) . '">' . the_author($idmode, false) . '</a>', $echo);
}【手順3】投稿者名のリンク先が、userinfo.phpになったことをWeb上で確認してみてください。
※今回の件に関しまして、こちらもそれなりの時間と労力を費やしておりますので、
Web上ででもよろしいですので、PHPの簡単なマニュアルを見つけ、御一読お願い致します。
※バージョンアップ時にでも対応できるように、必ず、カスタマイズの履歴が
残るようにしてください。
(手書きでもデータでもよろしいですので。)
Re: wordpress で投稿者のプロフィールを表示させるようにしたい
投稿者: akikoaa | 投稿日時: 2007-8-14 10:11
kusuchin さん
ご丁寧に有難うございます。
資料読んで見て、kusuchin さんの通り試してみました。
しかし、リンクに変化が見られませんでした。
そこで、72行目を以下のように変更して試してみましたが、
リンクに変化が見られませんでした。
function the_author_posts_link($idmode='', $echo=true) {
return _echo("", $echo);
// return _echo('' . the_author($idmode, false) . '', $echo);
モジュール・ブラウザ・XOOPSのキャッシュはクリアにして試してみましたが、変化が無いという事は、この箇所がうまく動作していないという事になると思うんですが、原因が分からずに困っております。。。
ご丁寧に有難うございます。
資料読んで見て、kusuchin さんの通り試してみました。
しかし、リンクに変化が見られませんでした。
そこで、72行目を以下のように変更して試してみましたが、
リンクに変化が見られませんでした。
function the_author_posts_link($idmode='', $echo=true) {
return _echo("", $echo);
// return _echo('' . the_author($idmode, false) . '', $echo);
モジュール・ブラウザ・XOOPSのキャッシュはクリアにして試してみましたが、変化が無いという事は、この箇所がうまく動作していないという事になると思うんですが、原因が分からずに困っております。。。
Re: wordpress で投稿者のプロフィールを表示させるようにしたい
投稿者: kusuchin | 投稿日時: 2007-8-14 11:15
PHPのマニュアルにも目を通して頂けたようで、何よりです。 
御確認なんですが、以下の赤字部分のリンク先の変更ということで
よろしいんですよね?
引用:
こちらの環境(XSAS_Plain & WordPress 0.5.0 RC Final)では、
何ら問題もなく、変更が反映されております。
引用:
この部分は、キャッシュされるところじゃないと思うんですね・・・。
考えられるのは、XOOPSが動いてる環境でない(ローカルなどの)ファイルを編集していることとかでしょうか・・・。
一度、サーバ上の上記ファイルが、きちんと変更されているか確認してみてください。
また、ローカルテスト用にXOOPS環境を構築することができる『XSAS_Plain』という
便利なツールもありますので、そちらでテストもしてみてください。

御確認なんですが、以下の赤字部分のリンク先の変更ということで
よろしいんですよね?
引用:
2007年8月13日(月曜日)
ようこそ、WordPressの世界へ!
カテゴリー: General- admin @ 17時00分35秒 記事編集
WordPress ME for Xoops2の導入成功おめでとうございます。
. This is the first post. Edit or delete it, then start blogging!
こちらの環境(XSAS_Plain & WordPress 0.5.0 RC Final)では、
何ら問題もなく、変更が反映されております。
引用:
モジュール・ブラウザ・XOOPSのキャッシュはクリアにして試してみましたが、変化が無いという事は、この箇所がうまく動作していないという事になると思うんですが、原因が分からずに困っております。。。
この部分は、キャッシュされるところじゃないと思うんですね・・・。
考えられるのは、XOOPSが動いてる環境でない(ローカルなどの)ファイルを編集していることとかでしょうか・・・。
一度、サーバ上の上記ファイルが、きちんと変更されているか確認してみてください。
また、ローカルテスト用にXOOPS環境を構築することができる『XSAS_Plain』という
便利なツールもありますので、そちらでテストもしてみてください。
Re: wordpress で投稿者のプロフィールを表示させるようにしたい
投稿者: kusuchin | 投稿日時: 2007-8-14 11:39
引用:
偏見のまま話を進めちゃってました。
わざわざ新たにTemplate関数を作らなくても、もともと用意されてるみてたいです。(※ChageLogとReadMe.ja-eucjpを参照)
(用意されているだけで、どこからも呼び出されていないようですが・・・。)
modules/wordpress/wp_includes/template-functions-author.php
ですので、今までのを全部白紙に戻してもらって、以下の3ファイル内の
"get_author_posts_link"を"get_author_info_link"に置き換えてもらうだけでもOKみたいです。
お好きな方でやってみてください。
※WordPressディレクトリ内を"get_author_posts_link"で検索を掛けてみてください。
以下の3ファイルがヒットするはずです。
・modules/wordpress/blocks/wp_contents.php
・modules/wordpress/themes/default/content_block-template.php
・modules/wordpress/themes/default/index-template.php
のぶのぶさんのサイトを調べたところ、ブログのタイトルの下にある投稿者名をクリックすると、
XOOPSのプロフィールにリンクする事ができるTempate関数を用意する必要があるそうなんですが、
関数の定義の方法が分からずに困っています。
偏見のまま話を進めちゃってました。
わざわざ新たにTemplate関数を作らなくても、もともと用意されてるみ
(用意されているだけで、どこからも呼び出されていないようですが・・・。)
modules/wordpress/wp_includes/template-functions-author.php
function the_author_info_link($idmode='', $echo=true) {
return _echo('<a href="' . XOOPS_URL . '/userinfo.php?uid=' .the_author('ID',false) . '" title="' . sprintf("Posts by %s", the_author($idmode, false)) . '">' . the_author($idmode, false) . '</a>', $echo);
}ですので、今までのを全部白紙に戻してもらって、以下の3ファイル内の
"get_author_posts_link"を"get_author_info_link"に置き換えてもらうだけでもOKみたいです。
お好きな方でやってみてください。
※WordPressディレクトリ内を"get_author_posts_link"で検索を掛けてみてください。
以下の3ファイルがヒットするはずです。
・modules/wordpress/blocks/wp_contents.php
・modules/wordpress/themes/default/content_block-template.php
・modules/wordpress/themes/default/index-template.php
Re: wordpress で投稿者のプロフィールを表示させるようにしたい
Re: wordpress で投稿者のプロフィールを表示させるようにしたい
Powered by Plugg


