Excerpt Word Count

时间:2012-10-22 作者:AndrettiMilas

下面来自WPSnipps的代码提供了一个摘录字符计数器,但我想计算words 相反有人知道怎么做吗?

// Excerpt character count
function excerpt_count_js(){
      echo \'<script>jQuery(document).ready(function(){
jQuery("#postexcerpt .handlediv").after("<div style=\\"position:absolute;top:0px;right:5px;color:#666;\\"><small>Excerpt length: </small><input type=\\"text\\" value=\\"0\\" maxlength=\\"3\\" size=\\"3\\" id=\\"excerpt_counter\\" readonly=\\"\\" style=\\"background:#fff;\\"> <small>character(s).</small></div>");
     jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length);
     jQuery("#excerpt").keyup( function() {
     jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length);
   });
});</script>\';
}
add_action( \'admin_head-post.php\', \'excerpt_count_js\');
add_action( \'admin_head-post-new.php\', \'excerpt_count_js\');

2 个回复
最合适的回答,由SO网友:KBRckr 整理而成

抱歉把你的问题看错了@siouxfan45!

下面是正确的答案:只要对代码稍加改进,就可以数数单词了!

只需更改这两行:

jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length);
对此:

jQuery("#excerpt_counter").val(jQuery("#excerpt").val().split(/\\S\\b[\\s,\\.\\\'-:;]*/).length - 1);
带有单引号的单词,如“不要”、“它是”、“我愿意”、“不会”。。。将计为两个!如果要将它们计算为单个单词,则需要更改.split() 对此:

.split(/\\S+\\b[\\s,\\.\\\'-:;]*/)
希望这次我是对的!

SO网友:jerclarke

在实现这个伟大的答案时(谢谢!)我找到了一种比原始代码使用的奇怪的非活动字段更好的显示数字的方法。这只会在文本区域的正下方显示“字数:$Word\\u count”。下面的代码还结合了KBRckr的代码,将收缩(Do Not)计算为一个单词。

Screenshot of what my excerpt word count code gives you

<?php
/**
 * Use jQuery to add a word counter to the excerpt box
 *
 * Should attach to all post screens and indicate the number of words just below the #excerpt textarea
 */
function gv_excerpt_word_count_js() {
      echo \'
     <script>jQuery(document).ready(function(){
jQuery("#postexcerpt #excerpt").after("Word Count: <strong><span id=\\\'excerpt-word-count\\\'></span></strong>");
     jQuery("#excerpt-word-count").html(jQuery("#excerpt").val().split(/\\S+\\b[\\s,\\.\\\'-:;]*/).length - 1);
     jQuery("#excerpt").keyup( function() {
     jQuery("#excerpt-word-count").html(jQuery("#excerpt").val().split(/\\S+\\b[\\s,\\.\\\'-:;]*/).length - 1);
   });
});</script>
    \';
}
add_action( \'admin_head-post.php\', \'gv_excerpt_word_count_js\');
add_action( \'admin_head-post-new.php\', \'gv_excerpt_word_count_js\');
?>

结束

相关推荐

我是否应该转义WordPress函数,如_title、_Excerpt、_Content

我看过代码,但在函数上看不到任何转义,例如the_title the_content the_excerpt等等。我可能读得不对。我是否需要在主题开发中避开这些功能,例如:esc_html ( the_title () )编辑:正如下面的答案所指出的,无论怎样,上述代码都是错误的-代码应该已经阅读esc_html ( get_the_title () )