web-dev-qa-db-ja.com

コアファイルをいじらずに、tinyMCEをユーザーの「経歴情報」に使用する方法

プロフィールにユーザーの「経歴情報」を入力すると、1ページに表示されます。本当にひどい。そう:

コアファイルを変更したり、プラグインを使用したりせずに、tinyMCEまたは他のソリューションをユーザーの「経歴情報」に使用する方法はありますか?

どうもありがとう。

1
Tara

これをテーマのfunctions.phpに追加するだけで問題が解決します(作成者の略歴からhtmlが削除されるのを防ぎます)。

remove_filter('pre_user_description', 'wp_filter_kses');  
add_filter( 'pre_user_description', 'wp_filter_post_kses' ); 
1
Tara

これが完璧な方法かどうかはわかりませんが、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' );
2
Sachin Patel

経歴情報のプロファイルフィールドをWordPressビジュアルエディターTinyMCEで置き換えるプラグインを作成しました。これにより、新しい関数wp_editor()を使用してリッチテキストを使用して著者の伝記を編集できます。 WordPress 3.3でリリースされました。

http://wordpress.org/extend/plugins/visual-biography-editor/

このプラグインを使用すると、エディターが次のコアアップデートで消去されないことが保証されます。これは、セキュリティ上の理由から必ず行う必要があります。

2
Kevin Leary

これを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');

。誰かがこれを信用すべきですが、これを見つけた場所を思い出せません。
とにかく、これは私にとってうまくいきます

1
Sagive SEO