我需要一个用于限制wordpress excerpt textarea的脚本。当用户撰写帖子时,不允许他们输入超过指定数量的字母。我发现了一个符合我需求的脚本,但我试着让它与我的主题一起工作几个小时:http://docs.wedevs.com/docs/wp-user-frontend-pro/tutorials/limiting-character-in-text-input-textarea/
使用Bones有一个文件“scripts.js”,您可以从中调用该函数。我试图将代码拆分为limittextarea.js(function)并在scripts.js中调用它。
每当我开始输入字母时,FireFox调试器会告诉我: “ReferenceError:limitText未定义”
limittextarea.js:
(function($) {
$.fn.limitText = function (field, maxChar){
var ref = $(field),
val = ref.val();
if ( val.length >= maxChar ) {
ref.val(val.substr(0, maxChar));
}
}
})(jQuery);
scripts.js中:
$('#excerpt').on('keyup', function() {
limitText(this, 10)
});
我知道 - 这对初学者来说真的很合适,但是请你帮助我吗?
答案 0 :(得分:0)
我对JS不是很有经验,而且最近有一个类似于你的问题,文件没有及时加载,因为wordpress喜欢js以特定的方式完成。您可以在WP Enque_script here上阅读更多内容 而不是直接编辑骨骼主题,为什么不让你的文字限制插件?然后你可以从自定义插件中调用你的limittextarea.js。
所以你会制作一个非常简单的自定义插件。
1.只需在插件文件夹中添加一个新文件夹即可
2.将其命名为您想要的。在这个例子中,我将它命名为。 “文本涨停插件”。
3.在该插件文件夹中创建一个名为“js”的文件夹,并将limittextarea.js粘贴在该文件夹中。
4.然后在您选择的代码编辑器中创建一个新的php文件,并将其保存在text-limit-plugin文件夹中,并将其命名为text-limit-plugin.php。
5.接下来将其添加到顶部。
<?php
/**
* Plugin Name: text-limit-plugin
* Plugin URI: "your dev site url here"
* Description: A Plugin to limit Text
* Version: 1.0 or whatever version of the plugin (pretty self explanatory)
* Author: Plugin Author's Name
* Author URI: Author's website
* License: A "Slug" license name e.g. GPL12
*/
接下来在上面的代码下面添加这个。
function wpb_adding_scripts() {
wp_register_script('text_limit_script', plugins_url('text-limit-plugin/js/limittextarea.js', __FILE__), array('jquery'),'1.1', true);
wp_enqueue_script('text_limit_script');
}
add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts' );
?>
您还可以将.js包装在无冲突的包装器中,以确保它与script.js不冲突。将此放在你的功能之前。
jQuery(document).ready(function($) {
尝试这样做,看看是否可以修复它。