web-dev-qa-db-ja.com

wordpressによるHTML属性の削除を停止します

次のようにclass属性を持つhtml tagで投稿を挿入しようとします:<dl class="dl-horizontal">が、投稿を保存した後、WPは属性を削除します。
どうすれば修正できますか?
私が見つけた唯一の方法は、shortcodeを作成することです。

add_shortcode('attr', 'html_attr');
function html_attr( $atts, $content = null ){
 extract( shortcode_atts( array(
    'tag' =>"",
    'attr'=>""
  ), $atts ) );   
  return "<" .  $tag . " " . $attr . " >";
}

しかし、私はそれが正しい方法だとは思わない...

4
Shimon S

TinyMCE Advancedプラグインを見てください。

http://wordpress.org/extend/plugins/tinymce-advanced/ /

特定のタグをそのままにするように設定できます。本当に便利です。

3
jochem

私はマルチサイトを実行しているときにこの問題を抱えていて、ユーザーはそのサイトの管理者だけでした。スーパー管理者として私は私が欲しいHTML属性を何でも置くことができます。長期的な解決策は彼らの特権を引き上げることではないと確信していますが、それはトラブルシューティングを始める場所になるかもしれません。

@ jochem、私は最後の変更を加えることをやめました、しかしそれは効果的な編集ソースではないようです。

誰かがより良い解決策を見つけた場合、それが投稿されていればそれは役に立ちます。

2
AC4

必ずテキストエディタでHTMLモードにしてください。ビジュアルモードに戻って変更を加えると、HTML要素が上書きされることがあります。

0
theMojoWill

多分それを削除するのはKsesです。

これを試して

function allow_dl_class_content() {
   global $allowedposttags, $allowedtags;
   $newattribute = "class";

   $allowedposttags["dl"][$newattribute] = true;
   $allowedtags["dl"][$newattribute] = true;
}
add_action( 'init', 'allow_dl_class_content' );
0
Alessandro