新規投稿時にテキストエリアへテンプレートを挿入
-
WordPressとEvent Calendar 3.2.beta2を使いイベント募集をできるサイトを作っています。
誰でもユーザー登録ができるようにし、投稿者として登録しているようにしています。投稿者が新規投稿(post-new.php)を開いたときのテキストエリア(本文入力エリア)に初めから指定した文言が入るようにはできませんでしょうか?
テンプレ内容
□開催日:
□集合場所:
□内容:
□その他:本来はボックス?みたいなのを用意してそこに入力して登録するとテンプレ内容が投稿されるってのが理想なのですが・・・。
何かいい方法がありましたらご教授をお願い致します。
-
Custom Field Template
とかが該当するのではないかと?
Get Custom Field Values
で取り出すとかそれとか、定番の
Custom Field GUI Utilitykvexさん sysbirdさん
JavaScriptとかはまったくわからないので教えて頂いたプラグインを試してみたいと思います^^;JavaScriptでテキストをセットできるのが一番利用者への負担が少なそうですね。
プラグインを試してみましたがテスターさんより使いにくいと言われたので・・・
JavaScriptでテキストをセットする方法を試したいと思っています。実装するにあたり参考になるサイトやコードをご教授願いますでしょうか。
管理画面ではjQueryが使えるので、
アクションフックのadmin_head のタイミングで、jQuery('#content').html("テキスト");
が実行されるようにすれば、本文入力エリアにテキストが表示されますよ。
テキストを編集するには、プラグインを作成するなど工夫が必要になってきますが、参考までに。sysbirdさん
ありがとうございます。テキストはこっちで固定指定表示なので1回決まれば変更はほとんど無いのでプラグイン作成までの必要性は感じていません。
数点教えて頂いても宜しいでしょうか。
苦手分野なのでなんちゃってで書いたので他にええ方法があれば教えてください^^;jsファイルを準備
var $j = jQuery.noConflict(); $j(function(){ $j('#content').html("テキスト<br>テキスト1"); });
functions.phpに下記を記載
function add_header1(){ wp_enqueue_script('admin_head', get_bloginfo('template_url') . '/add_header1.js', array('jquery'), false, true); } add_action('admin_print_scripts', 'add_header1');
・挿入するテキストに改行をいれた状態にしたいのですがどうすればいいのでしょうか?
例:
テキスト
テキスト2
テキスト3
テキスト4
みたいな表示に・新規投稿時だけに挿入させるように出来ますでしょうか。
現状だと新規でも編集でも表示されてしまいます^^;お手すきの時にでもご返信頂ければ幸いです。
新規投稿の場合はbodyタグにpost-new-phpクラスが付いているので、それが存在するかどうかをチェックするとよいです。
if(0 < jQuery('body.post-new-php').length){ jQuery('#content').html("テキスト"); }
改行は、html編集の場合は 、¥r¥n
ビジュアル編集の場合は、&lt;br&gt;
で区切ってセットすると表示できます。(半角で)
html編集かビジュアル編集かの判断は、前述のように編集に関するタグを探してチェックすることが可能です。>masaru さん
admin_print_scripts というフックがあったのですね!
私も今度からこれを使うようにしたいです。sysbirdさん
再びありがとうございます。var $j = jQuery.noConflict(); if(0 < jQuery('body.post-new-php').length){ $j(function(){ $j('#content').html("テキスト<br>テキスト1"); }); }
ってすることで新規のみ動作するようになりました。
html編集かビジュアル編集かの判断がいまいち不明なのでもう少し教えて頂いてもいいでしょうか。
ググってみましたがわかりませんでした^^;
#探しきれてなかったらごめんなさい。html編集かビジュアル編集かの判断処理方法を探していたらたどり着きましたがレスがないってことは判定するのは難しいってことでしょうか?
編集画面のソース(HTML)をみると、「ビジュアル編集」と「HTML編集」のボタンがあり、どちらかに activeクラス がついているのでjQueryで判断可能ですよ。
ソース見たときに変わらなかったのでどこで判断するんだろうと思ったのですが、一回一回新規で開くと変わってました^^;
class="active hide-if-no-js"
が確かについてますね。さてと全くわかってないPHPについて調べてきます^^;
情報ありがとうございました。
結構情報が集まってますね。
#私用にてばたばたしていて時間がありませんでした。頭が複雑な処理に対処できないので修正コード書いてくれる人募集します。
現在の状態:
新規投稿時のみテキストエリアへ指定文字を挿入add_header1.js
var $j = jQuery.noConflict(); if(0 < jQuery('body.post-new-php').length){ $j(function(){ $j('#content').html("テキスト<br>テキスト1"); }); }
テーマのfunctions.php
function add_header1(){ wp_enqueue_script('admin_head', get_bloginfo('template_url') . '/add_header1.js', array('jquery'), false, true); } add_action('admin_print_scripts', 'add_header1');
希望動作:
・「ビジュアル編集」と「HTML編集」のどちらを使っているかを判断して挿入するテキスト文の改行コードを変更したい
ビジュアル編集は"テキスト<br>テキスト1"
HTML編集は"テキスト2\r\nテキスト3"
資料?:
「ビジュアル編集」と「HTML編集」の時のソースコード
ビジュアル<div id="editor-toolbar"> <div class="zerosize"><input accesskey="e" type="button" onclick="switchEditors.go('content')" /></div> <a id="edButtonHTML" class="hide-if-no-js" onclick="switchEditors.go('content', 'html');">HTML</a> <a id="edButtonPreview" class="active hide-if-no-js" onclick="switchEditors.go('content', 'tinymce');">ビジュアル</a> <div id="media-buttons" class="hide-if-no-js">
HTML
<div id="editor-toolbar"> <div class="zerosize"><input accesskey="e" type="button" onclick="switchEditors.go('content')" /></div> <a id="edButtonHTML" class="active hide-if-no-js" onclick="switchEditors.go('content', 'html');">HTML</a> <a id="edButtonPreview" class="hide-if-no-js" onclick="switchEditors.go('content', 'tinymce');">ビジュアル</a> <div id="media-buttons" class="hide-if-no-js">
宜しくお願い致します。
- トピック「新規投稿時にテキストエリアへテンプレートを挿入」には新たに返信することはできません。