-
Notifications
You must be signed in to change notification settings - Fork 6
/
acf-limiter.php
98 lines (74 loc) · 2.18 KB
/
acf-limiter.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
/*
Plugin Name: Advanced Custom Fields: Limiter
Plugin URI: http://wordpress.org/extend/plugins/advanced-custom-fields-limiter-field/
Description: This field provides a textarea that limits the number of characters the a user can add. The limit is cleanly represented by a jQuery Ui progress bar. You can define the number of characters on a per field basis.
Version: 1.3.0
Author: Atomic Smash - David Darke
Author URI: atomicsmash.co.uk
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
// exit if accessed directly
if (! defined('ABSPATH')) {
exit;
}
// check if class already exists
if (!class_exists('atomic_smash_acf_plugin_limiter')) :
class atomic_smash_acf_plugin_limiter
{
// vars
public $settings;
/**
* __construct
*
* This function will setup the class functionality
*
* @type function
* @date 17/02/2016
* @since 1.0.0
*
* @param void
* @return void
*/
public function __construct()
{
// settings
// - these will be passed into the field class.
$this->settings = array(
'version' => '1.3.0',
'url' => plugin_dir_url(__FILE__),
'path' => plugin_dir_path(__FILE__)
);
// include field
add_action('acf/include_field_types', array($this, 'include_field')); // v5
add_action('acf/register_fields', array($this, 'include_field')); // v4
}
/**
* include_field
*
* This function will include the field type class
*
* @type function
* @date 17/02/2016
* @since 1.0.0
*
* @param $version (int) major ACF version. Defaults to false
* @return void
*/
public function include_field($version = false)
{
// support empty $version
if (!$version) {
$version = 4;
}
// load acf-limiter-field
load_plugin_textdomain('acf-limiter-field', false, plugin_basename(dirname(__FILE__)) . '/lang');
// include
include_once('fields/class-atomic-smash-acf-field-limiter-v' . $version . '.php');
}
}
// initialize
new atomic_smash_acf_plugin_limiter();
// class_exists check
endif;