あなたがすでに知っているように、あなたがTextモードですべてを書いたとしても、WordPressは投稿を操作します。 (改行を\r\n
に置き換えたり、一重引用符を二重引用符に変換するなど)
混乱しないようにするにはこれが良いことですが、私の場合は、<code>
タグと</code>
タグの両方、および一部のHTMLを直接HTMLコードに入れたいと思います。
だから私は私がテキストモードで見たことを確かめたい(またはどういうわけかHTMLモードをインストールする)ので、それでは私が見ているものは私が手に入れたものです、HTMLに関して:)
たぶん私が欲しいものについてのより良い説明はこれです:
私が "新しい投稿を追加"ウィンドウに書いたものは正確に<div class='entry-content'>
と</div>
の間に表示されるものと同じであるべきです。
このための任意のヒント?
テーマを変更する必要がありますか?またはTinymce用のプラグイン?
データベースでは一重引用符をエスケープする必要があることは知っていますが、改行やHTMLタグなどは残しておきたいので、データベースに直接書き込む以外の方法があることを教えてください。
私は最善の解決策は、ユーザー - >あなたのプロフィール - >執筆時にビジュアルエディタを無効にすることから、ビジュアルエディタを無効にすることです。
get_user_meta()
は get_metadata()
のラッパーです。ユーザーがRich Editorを使用できるかどうかが疑問に思われる場合は、その呼び出しで無効にすることができます。
<?php
/**
* Plugin Name: (#116210) Disable RichEdit by User or Role
* Author: Franz Josef Kaiser <[email protected]>
*/
defined( 'ABSPATH' ) OR exit;
add_filter( 'get_user_metadata', 'wpse116210VisualEditorDisabled', 20, 4 );
function wpse116210VisualEditorDisabled( $enabled, $object_id, $meta_key, $single ) {
if ( ! is_admin() )
return $enabled;
// Conditional switch for different post types
if ( 'post' === get_current_screen()->post_type )
{
$user = wp_get_current_user();
// Check here if you want *that* user/role to be enabled/disabled.
$enabled = FALSE;
}
return $enabled;
}
別の方法としては、WP_Role#has_cap
チェックを使用することがあります(使用されている場合)。それは同様にフィルタを持っています:'role_has_cap'
<?php
/**
* Plugin Name: (#116210) Disable RichEdit by Role
* Author: Franz Josef Kaiser <[email protected]>
*/
defined( 'ABSPATH' ) OR exit;
add_filter( 'role_has_cap', 'wpse116210RoleHasCap' );
function wpse116210RoleHasCap( $allCaps, $checkedCap, $roleName )
{
$role = get_role( $roleName );
// Do your check if you want to allow it. Return *boolean*.
return $allCaps[ $checkedCap ];
}
IIRCこれはユーザーのmeta/capsフィルターです。
<?php
/**
* Plugin Name: (#116210) Disable RichEdit for some post types
* Author: Franz Josef Kaiser <[email protected]>
*/
defined( 'ABSPATH' ) OR exit;
add_filter( 'user_can_richedit', function( $enabled ) {
if ( ! is_admin() )
return $enabled;
// Conditional switch for different post types
// If you want to check against multiple post types, use in_array()
return 'post' === get_current_screen()->post_type;
}
すべての投稿タイプでグローバルに無効にしたい場合は、次のショートカットを使用できます。
<?php
/**
* Plugin Name: (#116210) Disable RichEdit for some post types
* Author: Franz Josef Kaiser <[email protected]>
*/
defined( 'ABSPATH' ) OR exit;
add_filter( 'user_can_richedit', '__return_false' );