如何停止函数对实体进行编码?

时间:2016-10-02 作者:glvr

我在我的functions.php 预填充新帖子。

除非我使用实体(例如:»), 当我打开新帖子的编辑页面时,这些内容会被转换(例如:»)。

我宁愿不让他们改变主意。

add_filter( \'default_content\', \'pu_default_editor_content\' );

function pu_default_editor_content( $content ) {
  global $post_type;
  switch( $post_type ) {
    case \'post\':
      $content = \'Default content for blog posts.\';
    break;
  }
  return $content;
}

1 个回复
SO网友:Dave Romsey

默认编辑器内容pu_default_editor_content() 当用户禁用可视化编辑器时(根据您的注释),将考虑该函数。

function pu_default_editor_content( $content ) {
    global $post_type;

    switch( $post_type ) {
        case \'post\' :
            $content = \'Default content for blog posts. » » »\';
            $rich_editing = get_user_option( \'rich_editing\', get_current_user_id() );

            if ( \'false\' === $rich_editing ) {
                $content = htmlspecialchars( $content );
            }   
        break;
    }

    return $content;
}
add_filter( \'default_content\', \'pu_default_editor_content\' );
富文本编辑器禁用视图

editor-default-content-rich-text-disabled用户拥有可视化编辑器disabled 在“用户配置文件”下。

TinyMCE/QuickTags如果启用了可视化编辑器(这是默认设置),则需要将TinyMCE配置为显示命名实体。TinyMCE正在应用编码,但可以通过tiny_mce_before_initThanks to this answer 给小费。

将可能需要的其他实体添加到$settings[\'entities\'] 一串有关格式的文档是here:

此选项包含一个逗号分隔的实体名称列表,该列表用于代替字符。奇数项是字符代码,偶数项是字符代码的名称。

// Custom configuration for TinyMCE
function wpse241282_tiny_mce_before_init( $settings, $editor_id ) {

    // Used named encodings (the default setting in WordPress is raw).
    // https://www.tinymce.com/docs/configure/content-filtering/#encodingtypes
    $settings[\'entity_encoding\'] = \'named\';

    // Default entities for TinyMCE: 38,amp,60,lt,62,gt1
    // Additional entities: copy, reg, trade, service mark, euro, right angle quote, left angle quote
    // The odd entires are the entity *number*, the even entries are the entity *name*. If the entity has no name,
    // use the number, prefixed with a hash (for example, the service mark is "8480,#8480").

    $entities = \'169,copy,174,reg,8482,trade,8480,#8480,8364,euro,187,raquo,171,laquo\';

    if ( isset( $settings[\'entities\'] ) && ! empty( $settings[\'entities\'] ) ) {
        $settings[\'entities\'] .= \',\' . $entities;
    } else {
        $settings[\'entities\'] = $entities;
    }
    return $settings;
}
add_filter( \'tiny_mce_before_init\', \'wpse241282_tiny_mce_before_init\', 10, 2 );
add_filter( \'quicktags_settings\', \'wpse241282_tiny_mce_before_init\', 10, 2 );
已启用可视化编辑器

enter image description here用户拥有可视化编辑器enabled 在“用户配置文件”下。

相关推荐

如何在Functions.php中链接style.css

我是WordPress的新手;我刚开始学习WordPress。我想把风格联系起来。函数中的css。php,但我无法解决这里可能存在的问题。谁能给我指出正确的方向吗?指数php<?php get_header(); ?> <?php if ( have_posts() ) { while ( have_posts() ) { the_post();