のぶのぶ こんにちは WordPressの事でご相談ありまして寄らせてもらいました。当サイトでは、WordPressを導入してカテゴリを分けて複数人に日記を書いてもらう感じでWordPressの利用をさせて頂いております。当サイトの日記記入者の中には,日記を書くときにタイトルを未記入のまま投稿されてる方がいらしゃいましてそれがかなりの量になり、最近トップに用意してるブロックリンクからその記事に飛ぶのにタイトル未記入の為飛べなく成りつつあります。管理側でタイトルをすべて記入すれば済む話しとは思ってますが、よければ当サイト用にプログラムのハックでタイトル未記入のままで投稿された場合は「無題」という言葉をシステム側で自動書き込みするようにしたいと考えてます。(タイトル記入を必須にする方法も考えましたがいままでの記入者のなれも考えると 未記入⇒空白を「無題」などに置き換える方がベターかと)もしこのようにハックするとしたら簡単に出来ますでしょうか?なにせPHP等素人で何処を変更すればよいのか現在検討もつかないもので^^;のぶのぶさん よろしければアドバイス頂ければありがたいです。よろしくお願いします。
引用:よければ当サイト用にプログラムのハックでタイトル未記入のままで投稿された場合は「無題」という言葉をシステム側で自動書き込みするようにしたいと考えてます。(タイトル記入を必須にする方法も考えましたがいままでの記入者のなれも考えると 未記入⇒空白を「無題」などに置き換える方がベターかと)もしこのようにハックするとしたら簡単に出来ますでしょうか?なにせPHP等素人で何処を変更すればよいのか現在検討もつかないもので^^;のぶのぶさん よろしければアドバイス頂ければありがたいです。よろしくお願いします。 今までの、タイトル未記入分の事を考えるのであれば、保存時では無くて表示時に「無題」とかに置き換えるってのも良いと考えます。ということで、次回リリース分にはこの方法で対応させてもらおうと考えています。とりあえず、修正を急がれるのであればHack方法を記述します。修正箇所----------------------------------------------------wordpress/language/japanese/main.php 39行目から define("_WP_TPL_MORE",'(続き...)'); } ?> を define("_WP_TPL_MORE",'(続き...)'); define("_WP_POST_NOTITLE",'[無題]'); } ?> に変更。----------------------------------------------------wordpress/language/japanese/blocks.php を新規追加 <?php if (!defined('WP_LANGUAGE_XOOPS_BLOCKS_READ')) { define ('WP_LANGUAGE_XOOPS_BLOCKS_READ','1'); define("_WP_B_POST_NOTITLE",'[無題]'); } ?> 注意:必ず文字コードはEUC-JPにて保存して下さい。----------------------------------------------------wordpress/wp-includes/template-functions-post.php 54行目から function get_the_title() { global $post; $output = stripslashes($post->post_title); を function get_the_title() { global $post; $output = stripslashes($post->post_title); if (trim($output)=="") $output = _WP_POST_NOTITLE; に変更。----------------------------------------------------wordpress/blocks/wp_recent_posts.php 144行目から $post_title = stripslashes($lpost->post_title); を $post_title = stripslashes($lpost->post_title); if (trim($post_title)=="") $post_title = _WP_B_POST_NOTITLE; に変更。----------------------------------------------------wordpress/blocks/wp_recent_comments.php 101行目から $post_title = stripslashes($lcomment->post_title); を $post_title = stripslashes($lcomment->post_title); if (trim($post_title)=="") $post_title = _WP_B_POST_NOTITLE; に変更。----------------------------------------------------以上の修正で、タイトル無しでも[無題]と表示されるはずです。同様の修正を次期リリースにも反映する予定です。
よければ当サイト用にプログラムのハックでタイトル未記入のままで投稿された場合は「無題」という言葉をシステム側で自動書き込みするようにしたいと考えてます。(タイトル記入を必須にする方法も考えましたがいままでの記入者のなれも考えると 未記入⇒空白を「無題」などに置き換える方がベターかと)もしこのようにハックするとしたら簡単に出来ますでしょうか?なにせPHP等素人で何処を変更すればよいのか現在検討もつかないもので^^;のぶのぶさん よろしければアドバイス頂ければありがたいです。よろしくお願いします。
define("_WP_TPL_MORE",'(続き...)'); } ?>
define("_WP_TPL_MORE",'(続き...)'); define("_WP_POST_NOTITLE",'[無題]'); } ?>
<?php if (!defined('WP_LANGUAGE_XOOPS_BLOCKS_READ')) { define ('WP_LANGUAGE_XOOPS_BLOCKS_READ','1'); define("_WP_B_POST_NOTITLE",'[無題]'); } ?>
function get_the_title() { global $post; $output = stripslashes($post->post_title);
function get_the_title() { global $post; $output = stripslashes($post->post_title); if (trim($output)=="") $output = _WP_POST_NOTITLE;
$post_title = stripslashes($lpost->post_title);
$post_title = stripslashes($lpost->post_title); if (trim($post_title)=="") $post_title = _WP_B_POST_NOTITLE;
$post_title = stripslashes($lcomment->post_title);
$post_title = stripslashes($lcomment->post_title); if (trim($post_title)=="") $post_title = _WP_B_POST_NOTITLE;
のぶのぶさんこんにちは 素早い対応有難うございます。早速、ご指示に従ってハックさせて頂きます。素人の私にでも解り易くご指導頂きまして本当に有難うございました。引用:次回リリース分にはこの方法で対応させてもらおうと考えています。次回リリースでの対応もして頂けそうで次回バージュンUP時も気楽にバージュンUP出来そうで凄く嬉しいです。では また何かあります節にはよろしくお願いします。
次回リリース分にはこの方法で対応させてもらおうと考えています。
のぶのぶさん、ユーザの皆さんあけおめ&&ことよろです。 うちのサイトでも開始からしばらく気付いた事がありますのでお知らせ。ユーザ一覧にあるエントリ数が(1)となっているのに、エントリが無いユーザや(3)なのに実際には1しかないユーザがちらほらいます。管理者の編集モードでも該当するエントリがありません。DBテーブルをみてみたところ、post_statusがdraftのレコードが複数ありました。大半が、操作ミスによる本文未入力のレコードでした。今後編集される事はまずありません。これが生じないようなエントリ方法の周知や、ボタンの表示文字の試行錯誤は行っていくつもりです。draftのエントリを管理者の編集モードで確認する方法や設定はないでしょうか。操作ミスでできてしまったゴミエントリを管理者が編集から削除でいればと思うのですが。(設定できない場合は、次期バージョンで欲しいリストに入るほどではありません)xoops_wp_postsから直接削除します(不都合はないですよね)
tmさん、あけましておめでとうございます。いつも、このBBSでフォローいただきありがとうございます。本年も、よろしくお願いします 引用:大半が、操作ミスによる本文未入力のレコードでした。今後編集される事はまずありません。これが生じないようなエントリ方法の周知や、ボタンの表示文字の試行錯誤は行っていくつもりです。draftのエントリを管理者の編集モードで確認する方法や設定はないでしょうか。操作ミスでできてしまったゴミエントリを管理者が編集から削除でいればと思うのですが。(設定できない場合は、次期バージョンで欲しいリストに入るほどではありません)xoops_wp_postsから直接削除します(不都合はないですよね)たしかに、draftのままで残ってしまうってのがたまにありますね。多くは、投稿画面で、「高度な編集」ボタンを押してみて、そのままにしてしまう場合におこってしまうのだと思います。「高度な編集画面」に移るタイミングで、一反ドラフトにて保存されてしまうんですよね。なんか手を打てないか、少し考えてみますが、あまり期待しないで下さいね
大半が、操作ミスによる本文未入力のレコードでした。今後編集される事はまずありません。これが生じないようなエントリ方法の周知や、ボタンの表示文字の試行錯誤は行っていくつもりです。draftのエントリを管理者の編集モードで確認する方法や設定はないでしょうか。操作ミスでできてしまったゴミエントリを管理者が編集から削除でいればと思うのですが。(設定できない場合は、次期バージョンで欲しいリストに入るほどではありません)xoops_wp_postsから直接削除します(不都合はないですよね)
こちらこそよろしくお願いいたします。なるほど高度な編集のタイミングなのですね。ということは、もしかすると書くつもりはないけどとりあえずエントリ書込み画面を開いてみて「このボタンはなにかしら?」と押してみるとdraftが生まれるという事もある訳ですね。編集中シームレスに編集モードを行き来できる気の効いた仕様と裏腹な事象という訳ですね。仕様的に対応するにはどうするのがスマートか・・・確かに悩みますね。新規ユーザさんが入った場合は普通にできるかもしれませんね。SQLテーブルからの削除をルーチンワークにすることにします。ありがとうございました。
このプログラムは KENT 氏の yybbs を xoops(PHP) に移植したものです - KENT -