プロフィールにユーザーの「経歴情報」を入力すると、1ページに表示されます。本当にひどい。そう:
コアファイルを変更したり、プラグインを使用したりせずに、tinyMCEまたは他のソリューションをユーザーの「経歴情報」に使用する方法はありますか?
どうもありがとう。
これをテーマのfunctions.phpに追加するだけで問題が解決します(作成者の略歴からhtmlが削除されるのを防ぎます)。
remove_filter('pre_user_description', 'wp_filter_kses');
add_filter( 'pre_user_description', 'wp_filter_post_kses' );
これが完璧な方法かどうかはわかりませんが、jQueryを使用してdescription要素を削除し、description要素のエディターを追加することでうまくいきました。
/*******************************************
* TinyMCE EDITOR "Biographical Info" USER PROFILE
*******************************************/
function biographical_info_tinymce() {
if ( basename($_SERVER['PHP_SELF']) == 'profile.php' || basename($_SERVER['PHP_SELF']) == 'user-edit.php' && function_exists('wp_tiny_mce') ) {
echo "<script>jQuery(document).ready(function($){ $('#description').remove();});</script>";
$settings = array(
'tinymce' => array(
'toolbar1' => 'bold,italic,bullist,numlist,link,unlink',
'toolbar2' => '',
'toolbar3' => '',
'toolbar4' => '',
),
'wpautop' => true,
'media_buttons' => false,
'quicktags' => false,
);
$description = get_user_meta( $user->ID, 'description', true);
wp_editor( $description, 'description', $settings );
}
}
add_action('admin_head', 'biographical_info_tinymce');
remove_filter('pre_user_description', 'wp_filter_kses');
add_filter( 'pre_user_description', 'wp_filter_post_kses' );
経歴情報のプロファイルフィールドをWordPressビジュアルエディターTinyMCEで置き換えるプラグインを作成しました。これにより、新しい関数wp_editor()を使用してリッチテキストを使用して著者の伝記を編集できます。 WordPress 3.3でリリースされました。
http://wordpress.org/extend/plugins/visual-biography-editor/
このプラグインを使用すると、エディターが次のコアアップデートで消去されないことが保証されます。これは、セキュリティ上の理由から必ず行う必要があります。
これをfunctions.phpに追加します。
/*******************************************
* TinyMCE EDITOR "Biographical Info" USER PROFILE
*******************************************/
function biographical_info_tinymce() {
if ( basename($_SERVER['PHP_SELF']) == 'profile.php' || basename($_SERVER['PHP_SELF']) == 'user-edit.php' && function_exists('wp_tiny_mce') ) {
wp_admin_css();
wp_enqueue_script('utils');
wp_enqueue_script('editor');
do_action('admin_print_scripts');
do_action("admin_print_styles-post-php");
do_action('admin_print_styles');
remove_all_filters('mce_external_plugins');
add_filter( 'teeny_mce_before_init', create_function( '$a', '
$a["theme"] = "advanced";
$a["skin"] = "wp_theme";
$a["height"] = "300";
$a["width"] = "440";
$a["onpageload"] = "";
$a["mode"] = "exact";
$a["elements"] = "description";
$a["theme_advanced_buttons1"] = "formatselect, forecolor, bold, italic, pastetext, pasteword, bullist, numlist, link, unlink, outdent, indent, charmap, removeformat, spellchecker, fullscreen, wp_adv";
$a["theme_advanced_buttons2"] = "underline, justifyleft, justifycenter, justifyright, justifyfull, forecolor, pastetext, undo, redo, charmap, wp_help";
$a["theme_advanced_blockformats"] = "p,h2,h3,h4,h5,h6";
$a["theme_advanced_disable"] = "strikethrough";
return $a;' ) );
wp_tiny_mce( true );
}
}
add_action('admin_head', 'biographical_info_tinymce');
。誰かがこれを信用すべきですが、これを見つけた場所を思い出せません。
とにかく、これは私にとってうまくいきます