Version Description
- New translation: French (thanks to Netactions)
- Support: added support for new wp3.3 editor
- Bug fix: fixed WYSIWYG editor localised errors
- Bug fix: removed trailing commas for ie7
Download this release
Release Info
Developer | elliotcondon |
Plugin | Advanced Custom Fields |
Version | 3.0.3 |
Comparing to | |
See all releases |
Code changes from version 3.0.2 to 3.0.3
- acf.php +8 -2
- core/admin/meta_box_acf.php +20 -0
- core/fields/color_picker.php +2 -2
- core/fields/flexible_content.php +1009 -0
- core/fields/repeater.php +3 -3
- core/fields/wysiwyg.php +54 -19
- css/fields.css +1 -0
- css/global.css +4 -0
- css/input.css +12 -14
- images/popup-bit.png +0 -0
- js/fields.js +3 -3
- lang/acf-fr_FR.mo +0 -0
- lang/acf-fr_FR.po +425 -0
- readme.txt +8 -2
acf.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Advanced Custom Fields
|
4 |
Plugin URI: http://plugins.elliotcondon.com/advanced-custom-fields/
|
5 |
Description: Customise your edit pages with an assortment of field types: Wysiwyg, Repeater, text, textarea, image, file, select, checkbox post type, page link and more! Hide unwanted metaboxes and assign to any edit page!
|
6 |
-
Version: 3.0.
|
7 |
Author: Elliot Condon
|
8 |
Author URI: http://www.elliotcondon.com/
|
9 |
License: GPL
|
@@ -45,7 +45,7 @@ class Acf
|
|
45 |
$this->dir = plugins_url('',__FILE__);
|
46 |
$this->siteurl = get_bloginfo('url');
|
47 |
$this->wpadminurl = admin_url();
|
48 |
-
$this->version = '3.0.
|
49 |
$this->upgrade_version = '3.0.0'; // this is the latest version which requires an upgrade
|
50 |
|
51 |
|
@@ -130,6 +130,12 @@ class Acf
|
|
130 |
$return['repeater'] = new acf_Repeater($this);
|
131 |
}
|
132 |
|
|
|
|
|
|
|
|
|
|
|
|
|
133 |
// hook to load in third party fields
|
134 |
$custom = apply_filters('acf_register_field',array());
|
135 |
|
3 |
Plugin Name: Advanced Custom Fields
|
4 |
Plugin URI: http://plugins.elliotcondon.com/advanced-custom-fields/
|
5 |
Description: Customise your edit pages with an assortment of field types: Wysiwyg, Repeater, text, textarea, image, file, select, checkbox post type, page link and more! Hide unwanted metaboxes and assign to any edit page!
|
6 |
+
Version: 3.0.3
|
7 |
Author: Elliot Condon
|
8 |
Author URI: http://www.elliotcondon.com/
|
9 |
License: GPL
|
45 |
$this->dir = plugins_url('',__FILE__);
|
46 |
$this->siteurl = get_bloginfo('url');
|
47 |
$this->wpadminurl = admin_url();
|
48 |
+
$this->version = '3.0.3';
|
49 |
$this->upgrade_version = '3.0.0'; // this is the latest version which requires an upgrade
|
50 |
|
51 |
|
130 |
$return['repeater'] = new acf_Repeater($this);
|
131 |
}
|
132 |
|
133 |
+
if($this->is_field_unlocked('flexible_content'))
|
134 |
+
{
|
135 |
+
include_once('core/fields/flexible_content.php');
|
136 |
+
$return['flexible_content'] = new acf_flexible_content($this);
|
137 |
+
}
|
138 |
+
|
139 |
// hook to load in third party fields
|
140 |
$custom = apply_filters('acf_register_field',array());
|
141 |
|
core/admin/meta_box_acf.php
CHANGED
@@ -41,6 +41,26 @@
|
|
41 |
</form>
|
42 |
</td>
|
43 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
<!-- Options Page -->
|
45 |
<tr>
|
46 |
<td><?php _e("Options Page",'acf'); ?></td>
|
41 |
</form>
|
42 |
</td>
|
43 |
</tr>
|
44 |
+
<!-- Flexible Field -->
|
45 |
+
<?php /*<tr>
|
46 |
+
<td><?php _e("Flexible Content Field",'acf'); ?></td>
|
47 |
+
<td><?php echo $this->is_field_unlocked('flexible_content') ? __("Active",'acf') : __("Inactive",'acf'); ?></td>
|
48 |
+
<td>
|
49 |
+
<form action="" method="post">
|
50 |
+
<?php if($this->is_field_unlocked('flexible_content')){
|
51 |
+
echo '<span class="activation_code">XXXX-XXXX-XXXX-'.substr($this->get_license_key('flexible_content'),-4) .'</span>';
|
52 |
+
echo '<input type="hidden" name="acf_field_deactivate" value="flexible_content" />';
|
53 |
+
echo '<input type="submit" class="button" value="Deactivate" />';
|
54 |
+
}
|
55 |
+
else
|
56 |
+
{
|
57 |
+
echo '<input type="text" name="key" value="" />';
|
58 |
+
echo '<input type="hidden" name="acf_field_activate" value="flexible_content" />';
|
59 |
+
echo '<input type="submit" class="button" value="Activate" />';
|
60 |
+
} ?>
|
61 |
+
</form>
|
62 |
+
</td>
|
63 |
+
</tr>*/ ?>
|
64 |
<!-- Options Page -->
|
65 |
<tr>
|
66 |
<td><?php _e("Options Page",'acf'); ?></td>
|
core/fields/color_picker.php
CHANGED
@@ -76,7 +76,7 @@ class acf_Color_picker extends acf_Field
|
|
76 |
$('#acf_color_picker').css({
|
77 |
left: input.offset().left,
|
78 |
top: input.offset().top - $('#acf_color_picker').height(),
|
79 |
-
display: 'block'
|
80 |
});
|
81 |
|
82 |
farbtastic.linkTo(this);
|
@@ -84,7 +84,7 @@ class acf_Color_picker extends acf_Field
|
|
84 |
}).live('blur', function(){
|
85 |
|
86 |
$('#acf_color_picker').css({
|
87 |
-
display: 'none'
|
88 |
});
|
89 |
|
90 |
});
|
76 |
$('#acf_color_picker').css({
|
77 |
left: input.offset().left,
|
78 |
top: input.offset().top - $('#acf_color_picker').height(),
|
79 |
+
display: 'block'
|
80 |
});
|
81 |
|
82 |
farbtastic.linkTo(this);
|
84 |
}).live('blur', function(){
|
85 |
|
86 |
$('#acf_color_picker').css({
|
87 |
+
display: 'none'
|
88 |
});
|
89 |
|
90 |
});
|
core/fields/flexible_content.php
ADDED
@@ -0,0 +1,1009 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class acf_Flexible_content extends acf_Field
|
4 |
+
{
|
5 |
+
|
6 |
+
/*--------------------------------------------------------------------------------------
|
7 |
+
*
|
8 |
+
* Constructor
|
9 |
+
* - $parent is passed buy reference so you can play with the acf functions
|
10 |
+
*
|
11 |
+
* @author Elliot Condon
|
12 |
+
* @since 2.2.0
|
13 |
+
*
|
14 |
+
*-------------------------------------------------------------------------------------*/
|
15 |
+
|
16 |
+
function __construct($parent)
|
17 |
+
{
|
18 |
+
parent::__construct($parent);
|
19 |
+
|
20 |
+
$this->name = 'flexible_content';
|
21 |
+
$this->title = __("Flexible Content",'acf');
|
22 |
+
|
23 |
+
add_action('admin_head', array($this,'admin_head_field'));
|
24 |
+
}
|
25 |
+
|
26 |
+
|
27 |
+
/*--------------------------------------------------------------------------------------
|
28 |
+
*
|
29 |
+
* create_field
|
30 |
+
* - called in lots of places to create the html version of the field
|
31 |
+
*
|
32 |
+
* @author Elliot Condon
|
33 |
+
* @since 2.2.0
|
34 |
+
*
|
35 |
+
*-------------------------------------------------------------------------------------*/
|
36 |
+
|
37 |
+
function create_field($field)
|
38 |
+
{
|
39 |
+
|
40 |
+
$layouts = array();
|
41 |
+
foreach($field['layouts'] as $l)
|
42 |
+
{
|
43 |
+
$layouts[$l['name']] = $l;
|
44 |
+
}
|
45 |
+
|
46 |
+
?>
|
47 |
+
<div class="acf_flexible_content">
|
48 |
+
|
49 |
+
<div class="no_value_message" <?php if($field['value']){echo 'style="display:none;"';} ?>>
|
50 |
+
<?php _e("Click the \"add row\" button below to start creating your layout",'acf'); ?>
|
51 |
+
</div>
|
52 |
+
|
53 |
+
<div class="clones">
|
54 |
+
<?php $i = -1; ?>
|
55 |
+
<?php foreach($layouts as $layout): $i++; ?>
|
56 |
+
<table class="widefat" data-layout="<?php echo $layout['name'] ?>">
|
57 |
+
<?php if($layout['display'] == 'table'): ?>
|
58 |
+
<thead>
|
59 |
+
<tr>
|
60 |
+
<th class="order"><!-- order --></th>
|
61 |
+
<?php foreach($layout['sub_fields'] as $sub_field_i => $sub_field):?>
|
62 |
+
<th class="<?php echo $sub_field['name']; ?>" <?php if($sub_field_i != 0): ?>style="width:<?php echo 95/count($layout['sub_fields']); ?>%;"<?php endif; ?>><span><?php echo $sub_field['label']; ?></span></th>
|
63 |
+
<?php endforeach; ?>
|
64 |
+
<th class="remove"><!-- remove --></th>
|
65 |
+
</tr>
|
66 |
+
</thead>
|
67 |
+
<?php endif; ?>
|
68 |
+
<tbody>
|
69 |
+
<tr>
|
70 |
+
<td class="order"><?php echo $i+1; ?></td>
|
71 |
+
<?php if($layout['display'] == 'row'): ?><td><?php endif; ?>
|
72 |
+
<?php foreach($layout['sub_fields'] as $sub_field):?>
|
73 |
+
<?php if($layout['display'] == 'table'): ?><td><?php else: ?><label class="field_label"><?php echo $sub_field['label']; ?></label><?php endif; ?>
|
74 |
+
<input type="hidden" name="<?php echo $field['name'] ?>[999][acf_fc_layout]" value="<?php echo $layout['name']; ?>" />
|
75 |
+
<?php
|
76 |
+
// add value
|
77 |
+
$sub_field['value'] = isset($sub_field['default_value']) ? $sub_field['default_value'] : '';
|
78 |
+
|
79 |
+
// add name
|
80 |
+
$sub_field['name'] = $field['name'] . '[999][' . $sub_field['key'] . ']';
|
81 |
+
|
82 |
+
// create field
|
83 |
+
$this->parent->create_field($sub_field);
|
84 |
+
?>
|
85 |
+
<?php if($layout['display'] == 'table'): ?></td><?php endif; ?>
|
86 |
+
<?php endforeach; ?>
|
87 |
+
<?php if($layout['display'] == 'row'): ?></td><?php endif; ?>
|
88 |
+
<td class="remove"><a class="remove_field" href="javascript:;"></a></td>
|
89 |
+
</tr>
|
90 |
+
</tbody>
|
91 |
+
</table>
|
92 |
+
<?php endforeach; ?>
|
93 |
+
</div>
|
94 |
+
<div class="values">
|
95 |
+
<?php if($field['value']): ?>
|
96 |
+
<?php foreach($field['value'] as $i => $value):?>
|
97 |
+
|
98 |
+
|
99 |
+
<?php if(!isset($layouts[$value['acf_fc_layout']])) continue; ?>
|
100 |
+
<?php $layout = $layouts[$value['acf_fc_layout']]; ?>
|
101 |
+
|
102 |
+
|
103 |
+
<table class="widefat" data-layout="<?php echo $layout['name'] ?>">
|
104 |
+
<?php if($layout['display'] == 'table'): ?>
|
105 |
+
<thead>
|
106 |
+
<tr>
|
107 |
+
<th class="order"><!-- order --></th>
|
108 |
+
<?php $l = 0; foreach($layout['sub_fields'] as $sub_field): $l++; ?>
|
109 |
+
<th class="<?php echo $sub_field['name']; ?>" <?php if($l != count($layout['sub_fields'])): ?>style="width:<?php echo 100/count($layout['sub_fields']) - 5; ?>%;"<?php endif; ?>><span><?php echo $sub_field['label']; ?></span></th>
|
110 |
+
<?php endforeach; ?>
|
111 |
+
<th class="remove"><!-- remove --></th>
|
112 |
+
</tr>
|
113 |
+
</thead>
|
114 |
+
<?php endif; ?>
|
115 |
+
<tbody>
|
116 |
+
<tr>
|
117 |
+
<td class="order"><?php echo $i+1; ?></td>
|
118 |
+
<?php if($layout['display'] == 'row'): ?><td><?php endif; ?>
|
119 |
+
<?php foreach($layout['sub_fields'] as $sub_field):?>
|
120 |
+
<?php if($layout['display'] == 'table'): ?><td><?php else: ?><label class="field_label"><?php echo $sub_field['label']; ?></label><?php endif; ?>
|
121 |
+
<input type="hidden" name="<?php echo $field['name'] ?>[<?php echo $i ?>][acf_fc_layout]" value="<?php echo $layout['name']; ?>" />
|
122 |
+
<?php
|
123 |
+
// add value
|
124 |
+
$sub_field['value'] = isset($value[$sub_field['name']]) ? $value[$sub_field['name']] : '';
|
125 |
+
|
126 |
+
// add name
|
127 |
+
$sub_field['name'] = $field['name'] . '[' . $i . '][' . $sub_field['key'] . ']';
|
128 |
+
|
129 |
+
// create field
|
130 |
+
$this->parent->create_field($sub_field);
|
131 |
+
?>
|
132 |
+
<?php if($layout['display'] == 'table'): ?></td><?php endif; ?>
|
133 |
+
<?php endforeach; ?>
|
134 |
+
<?php if($layout['display'] == 'row'): ?></td><?php endif; ?>
|
135 |
+
<td class="remove"><a class="remove_field" href="javascript:;"></a></td>
|
136 |
+
</tr>
|
137 |
+
</tbody>
|
138 |
+
</table>
|
139 |
+
|
140 |
+
|
141 |
+
<?php endforeach; ?>
|
142 |
+
<?php endif; ?>
|
143 |
+
<?php // values here ?>
|
144 |
+
</div>
|
145 |
+
<div class="table_footer">
|
146 |
+
<div class="order_message"></div>
|
147 |
+
<div class="acf_popup">
|
148 |
+
<ul>
|
149 |
+
<?php foreach($field['layouts'] as $layout): $i++; ?>
|
150 |
+
<li><a href="javascript:;" data-layout="<?php echo $layout['name']; ?>"><?php echo $layout['label']; ?></a></li>
|
151 |
+
<?php endforeach; ?>
|
152 |
+
</ul>
|
153 |
+
<div class="bit"></div>
|
154 |
+
</div>
|
155 |
+
<a href="javascript:;" id="add_field" class="button-primary"><?php _e("+ Add Row",'acf'); ?></a>
|
156 |
+
<div class="clear"></div>
|
157 |
+
</div>
|
158 |
+
|
159 |
+
</div>
|
160 |
+
<?php
|
161 |
+
}
|
162 |
+
|
163 |
+
|
164 |
+
/*--------------------------------------------------------------------------------------
|
165 |
+
*
|
166 |
+
* create_options
|
167 |
+
* - called from core/field_meta_box.php to create special options
|
168 |
+
*
|
169 |
+
* @params : $key (int) - neccessary to group field data together for saving
|
170 |
+
* $field (array) - the field data from the database
|
171 |
+
* @author Elliot Condon
|
172 |
+
* @since 2.2.0
|
173 |
+
*
|
174 |
+
*-------------------------------------------------------------------------------------*/
|
175 |
+
|
176 |
+
function create_options($key, $field)
|
177 |
+
{
|
178 |
+
// vars
|
179 |
+
$fields_names = array();
|
180 |
+
$field['layouts'] = isset($field['layouts']) ? $field['layouts'] : array();
|
181 |
+
|
182 |
+
// load default layout
|
183 |
+
if(empty($field['layouts']))
|
184 |
+
{
|
185 |
+
$field['layouts'][] = array(
|
186 |
+
'name' => '',
|
187 |
+
'label' => '',
|
188 |
+
'display' => 'table',
|
189 |
+
'sub_fields' => array(),
|
190 |
+
);
|
191 |
+
}
|
192 |
+
|
193 |
+
// get name of all fields for use in field type
|
194 |
+
foreach($this->parent->fields as $f)
|
195 |
+
{
|
196 |
+
$fields_names[$f->name] = $f->title;
|
197 |
+
}
|
198 |
+
unset($fields_names['repeater']);
|
199 |
+
unset($fields_names['flexible_content']);
|
200 |
+
|
201 |
+
// loop through layouts and create the options for them
|
202 |
+
if($field['layouts']):
|
203 |
+
foreach($field['layouts'] as $layout_key => $layout):
|
204 |
+
|
205 |
+
// add clone field
|
206 |
+
$layout['sub_fields'][999] = array(
|
207 |
+
'label' => __("New Field",'acf'),
|
208 |
+
'name' => 'new_field',
|
209 |
+
'type' => 'text',
|
210 |
+
'order_no' => '1',
|
211 |
+
'instructions' => '',
|
212 |
+
);
|
213 |
+
?>
|
214 |
+
<tr class="field_option field_option_<?php echo $this->name; ?>">
|
215 |
+
<td class="label">
|
216 |
+
<label><?php _e("Layout",'acf'); ?></label>
|
217 |
+
<p class="desription">
|
218 |
+
<span><a class="acf_fc_reorder" title="Edit this Field" href="javascript:;"><?php _e("Reorder",'acf'); ?></a> | </span>
|
219 |
+
<span><a class="acf_fc_add" title="Edit this Field" href="javascript:;"><?php _e("Add New",'acf'); ?></a> | </span>
|
220 |
+
<span><a class="acf_fc_delete" title="Delete this Field" href="javascript:;"><?php _e("Delete",'acf'); ?></a>
|
221 |
+
</p>
|
222 |
+
</td>
|
223 |
+
<td>
|
224 |
+
<div class="repeater">
|
225 |
+
|
226 |
+
<table class="acf_cf_meta">
|
227 |
+
<body>
|
228 |
+
<tr>
|
229 |
+
<td class="acf_fc_label" style="padding-left:0;">
|
230 |
+
<label><?php _e('Label','acf'); ?></label>
|
231 |
+
<?php
|
232 |
+
$this->parent->create_field(array(
|
233 |
+
'type' => 'text',
|
234 |
+
'name' => 'fields['.$key.'][layouts][' . $layout_key . '][label]',
|
235 |
+
'value' => $layout['label'],
|
236 |
+
));
|
237 |
+
?>
|
238 |
+
</td>
|
239 |
+
<td class="acf_fc_name">
|
240 |
+
<label><?php _e('Name','acf'); ?></label>
|
241 |
+
<?php
|
242 |
+
$this->parent->create_field(array(
|
243 |
+
'type' => 'text',
|
244 |
+
'name' => 'fields['.$key.'][layouts][' . $layout_key . '][name]',
|
245 |
+
'value' => $layout['name'],
|
246 |
+
));
|
247 |
+
?>
|
248 |
+
</td>
|
249 |
+
<td style="padding-right:0;">
|
250 |
+
<label><?php _e('Display','acf'); ?></label>
|
251 |
+
<?php
|
252 |
+
$this->parent->create_field(array(
|
253 |
+
'type' => 'select',
|
254 |
+
'name' => 'fields['.$key.'][layouts][' . $layout_key . '][display]',
|
255 |
+
'value' => $layout['display'],
|
256 |
+
'choices' => array('table' => 'Table', 'row' => 'Row')
|
257 |
+
));
|
258 |
+
?>
|
259 |
+
</td>
|
260 |
+
</tr>
|
261 |
+
</body>
|
262 |
+
</table>
|
263 |
+
|
264 |
+
<div class="fields_header">
|
265 |
+
<table class="acf widefat">
|
266 |
+
<thead>
|
267 |
+
<tr>
|
268 |
+
<th class="field_order"><?php _e('Field Order','acf'); ?></th>
|
269 |
+
<th class="field_label"><?php _e('Field Label','acf'); ?></th>
|
270 |
+
<th class="field_name"><?php _e('Field Name','acf'); ?></th>
|
271 |
+
<th class="field_type"><?php _e('Field Type','acf'); ?></th>
|
272 |
+
</tr>
|
273 |
+
</thead>
|
274 |
+
</table>
|
275 |
+
</div>
|
276 |
+
<div class="fields">
|
277 |
+
|
278 |
+
<div class="no_fields_message" <?php if(count($layout['sub_fields']) > 1){ echo 'style="display:none;"'; } ?>>
|
279 |
+
<?php _e("No fields. Click the \"+ Add Field button\" to create your first field.",'acf'); ?>
|
280 |
+
</div>
|
281 |
+
|
282 |
+
<?php foreach($layout['sub_fields'] as $key2 => $sub_field): ?>
|
283 |
+
<div class="<?php if($key2 == 999){echo "field_clone";}else{echo "field";} ?> sub_field">
|
284 |
+
|
285 |
+
<?php if(isset($sub_field['key'])): ?>
|
286 |
+
<input type="hidden" name="fields[<?php echo $key; ?>][sub_fields][<?php echo $key2; ?>][key]" value="<?php echo $sub_field['key']; ?>" />
|
287 |
+
<?php endif; ?>
|
288 |
+
|
289 |
+
<div class="field_meta">
|
290 |
+
<table class="acf widefat">
|
291 |
+
<tr>
|
292 |
+
<td class="field_order"><span class="circle"><?php echo ($key2+1); ?></span></td>
|
293 |
+
<td class="field_label">
|
294 |
+
<strong>
|
295 |
+
<a class="acf_edit_field" title="Edit this Field" href="javascript:;"><?php echo $sub_field['label']; ?></a>
|
296 |
+
</strong>
|
297 |
+
<div class="row_options">
|
298 |
+
<span><a class="acf_edit_field" title="Edit this Field" href="javascript:;">Edit</a> | </span>
|
299 |
+
<span><a class="acf_delete_field" title="Delete this Field" href="javascript:;">Delete</a>
|
300 |
+
</div>
|
301 |
+
</td>
|
302 |
+
<td class="field_name"><?php echo $sub_field['name']; ?></td>
|
303 |
+
<td class="field_type"><?php echo $sub_field['type']; ?></td>
|
304 |
+
</tr>
|
305 |
+
</table>
|
306 |
+
</div>
|
307 |
+
|
308 |
+
<div class="field_form_mask">
|
309 |
+
<div class="field_form">
|
310 |
+
<table class="acf_input widefat">
|
311 |
+
<tbody>
|
312 |
+
<tr class="field_label">
|
313 |
+
<td class="label">
|
314 |
+
<label><span class="required">*</span><?php _e("Field Label",'acf'); ?></label>
|
315 |
+
<p class="description"><?php _e("This is the name which will appear on the EDIT page",'acf'); ?></p>
|
316 |
+
</td>
|
317 |
+
<td>
|
318 |
+
<?php
|
319 |
+
$this->parent->create_field(array(
|
320 |
+
'type' => 'text',
|
321 |
+
'name' => 'fields['.$key.'][layouts][' . $layout_key . '][sub_fields]['.$key2.'][label]',
|
322 |
+
'value' => $sub_field['label'],
|
323 |
+
'class' => 'label',
|
324 |
+
));
|
325 |
+
?>
|
326 |
+
</td>
|
327 |
+
</tr>
|
328 |
+
<tr class="field_name">
|
329 |
+
<td class="label">
|
330 |
+
<label><span class="required">*</span><?php _e("Field Name",'acf'); ?></label>
|
331 |
+
<p class="description"><?php _e("Single word, no spaces. Underscores and dashes allowed",'acf'); ?></p>
|
332 |
+
</td>
|
333 |
+
<td>
|
334 |
+
<?php
|
335 |
+
$this->parent->create_field(array(
|
336 |
+
'type' => 'text',
|
337 |
+
'name' => 'fields['.$key.'][layouts][' . $layout_key . '][sub_fields]['.$key2.'][name]',
|
338 |
+
'value' => $sub_field['name'],
|
339 |
+
'class' => 'name',
|
340 |
+
));
|
341 |
+
?>
|
342 |
+
</td>
|
343 |
+
</tr>
|
344 |
+
<tr class="field_type">
|
345 |
+
<td class="label"><label><span class="required">*</span><?php _e("Field Type",'acf'); ?></label></td>
|
346 |
+
<td>
|
347 |
+
<?php
|
348 |
+
$this->parent->create_field(array(
|
349 |
+
'type' => 'select',
|
350 |
+
'name' => 'fields['.$key.'][layouts][' . $layout_key . '][sub_fields]['.$key2.'][type]',
|
351 |
+
'value' => $sub_field['type'],
|
352 |
+
'class' => 'type',
|
353 |
+
'choices' => $fields_names
|
354 |
+
));
|
355 |
+
?>
|
356 |
+
</td>
|
357 |
+
</tr>
|
358 |
+
<?php
|
359 |
+
foreach($fields_names as $field_name => $field_title){
|
360 |
+
$this->parent->fields[$field_name]->create_options($key.'][layouts][' . $layout_key . '][sub_fields]['.$key2, $sub_field);
|
361 |
+
}
|
362 |
+
?>
|
363 |
+
<tr class="field_save">
|
364 |
+
<td class="label">
|
365 |
+
<label><?php _e("Save Field",'acf'); ?></label>
|
366 |
+
</td>
|
367 |
+
<td><input type="submit" value="Save Field" class="button-primary" name="save" />
|
368 |
+
<?php _e("or",'acf'); ?> <a class="acf_edit_field" title="<?php _e("Hide this edit screen",'acf'); ?>" href="javascript:;"><?php _e("continue editing ACF",'acf'); ?></a>
|
369 |
+
</td>
|
370 |
+
</tr>
|
371 |
+
</tbody>
|
372 |
+
</table>
|
373 |
+
</div><!-- End Form -->
|
374 |
+
</div><!-- End Form Mask -->
|
375 |
+
|
376 |
+
</div>
|
377 |
+
<?php endforeach; ?>
|
378 |
+
</div>
|
379 |
+
<div class="table_footer">
|
380 |
+
<div class="order_message"></div>
|
381 |
+
<a href="javascript:;" id="add_field" class="button-primary"><?php _e('+ Add Field','acf'); ?></a>
|
382 |
+
</div>
|
383 |
+
</div>
|
384 |
+
</td>
|
385 |
+
</tr>
|
386 |
+
|
387 |
+
<?php
|
388 |
+
endforeach;
|
389 |
+
endif;
|
390 |
+
}
|
391 |
+
|
392 |
+
|
393 |
+
/*--------------------------------------------------------------------------------------
|
394 |
+
*
|
395 |
+
* admin_head
|
396 |
+
*
|
397 |
+
* @author Elliot Condon
|
398 |
+
* @since 2.2.0
|
399 |
+
*
|
400 |
+
*-------------------------------------------------------------------------------------*/
|
401 |
+
|
402 |
+
function admin_head()
|
403 |
+
{
|
404 |
+
?>
|
405 |
+
<script type="text/javascript">
|
406 |
+
(function($){
|
407 |
+
|
408 |
+
function uniqid()
|
409 |
+
{
|
410 |
+
var newDate = new Date();
|
411 |
+
return newDate.getTime();
|
412 |
+
}
|
413 |
+
|
414 |
+
/*----------------------------------------------------------------------
|
415 |
+
*
|
416 |
+
* Update Order Numbers
|
417 |
+
*
|
418 |
+
*---------------------------------------------------------------------*/
|
419 |
+
|
420 |
+
function update_order_numbers(div)
|
421 |
+
{
|
422 |
+
div.children('.values').children('table').each(function(i){
|
423 |
+
$(this).children('tbody').children('tr').children('td.order').html(i+1);
|
424 |
+
});
|
425 |
+
|
426 |
+
}
|
427 |
+
|
428 |
+
|
429 |
+
/*----------------------------------------------------------------------
|
430 |
+
*
|
431 |
+
* Make Sortable
|
432 |
+
*
|
433 |
+
*---------------------------------------------------------------------*/
|
434 |
+
function make_sortable(div){
|
435 |
+
|
436 |
+
div.children('.values').unbind('sortable').sortable({
|
437 |
+
update: function(event, ui){
|
438 |
+
update_order_numbers(div);
|
439 |
+
},
|
440 |
+
handle: 'td.order'
|
441 |
+
});
|
442 |
+
}
|
443 |
+
|
444 |
+
|
445 |
+
/*----------------------------------------------------------------------
|
446 |
+
*
|
447 |
+
* Add Row
|
448 |
+
*
|
449 |
+
*---------------------------------------------------------------------*/
|
450 |
+
|
451 |
+
$('#poststuff .acf_flexible_content #add_field').live('click', function(){
|
452 |
+
|
453 |
+
if($(this).hasClass('active'))
|
454 |
+
{
|
455 |
+
$(this).removeClass('active');
|
456 |
+
$(this).siblings('.acf_popup').animate({ opacity : 0, bottom : '35px' }, 250);
|
457 |
+
}
|
458 |
+
else
|
459 |
+
{
|
460 |
+
$(this).addClass('active');
|
461 |
+
$(this).siblings('.acf_popup').css({display : 'block', opacity : 0, bottom : '15px'}).animate({ opacity : 1, bottom : '25px' }, 250);
|
462 |
+
}
|
463 |
+
});
|
464 |
+
|
465 |
+
|
466 |
+
/*----------------------------------------------------------------------
|
467 |
+
*
|
468 |
+
* Delete Row
|
469 |
+
*
|
470 |
+
*---------------------------------------------------------------------*/
|
471 |
+
|
472 |
+
$('#poststuff .acf_flexible_content a.remove_field').live('click', function(){
|
473 |
+
|
474 |
+
var div = $(this).closest('.acf_flexible_content');
|
475 |
+
var table = $(this).closest('table');
|
476 |
+
var temp = $('<div style="height:' + table.height() + 'px"></div>');
|
477 |
+
|
478 |
+
table.animate({'left' : '50px', 'opacity' : 0}, 250, function(){
|
479 |
+
table.before(temp).remove();
|
480 |
+
|
481 |
+
temp.animate({'height' : 0 }, 250, function(){
|
482 |
+
temp.remove();
|
483 |
+
});
|
484 |
+
|
485 |
+
update_order_numbers(div);
|
486 |
+
|
487 |
+
if(!div.children('.values').children('table').exists())
|
488 |
+
{
|
489 |
+
div.children('.no_value_message').show();
|
490 |
+
}
|
491 |
+
|
492 |
+
});
|
493 |
+
|
494 |
+
return false;
|
495 |
+
|
496 |
+
});
|
497 |
+
|
498 |
+
|
499 |
+
/*----------------------------------------------------------------------
|
500 |
+
*
|
501 |
+
* Add Layout
|
502 |
+
*
|
503 |
+
*---------------------------------------------------------------------*/
|
504 |
+
|
505 |
+
$('#poststuff .acf_flexible_content .table_footer .acf_popup ul li a').live('click', function(){
|
506 |
+
|
507 |
+
// vars
|
508 |
+
var layout = $(this).attr('data-layout');
|
509 |
+
var div = $(this).closest('.acf_flexible_content');
|
510 |
+
|
511 |
+
// deactivate any wysiwygs
|
512 |
+
div.children('.clones').acf_deactivate_wysiwyg();
|
513 |
+
|
514 |
+
// create new field
|
515 |
+
var new_field = div.children('.clones').children('table[data-layout="' + layout + '"]').clone(false);
|
516 |
+
|
517 |
+
// update names
|
518 |
+
var new_id = uniqid();
|
519 |
+
new_field.find('[name]').each(function(){
|
520 |
+
|
521 |
+
var name = $(this).attr('name').replace('[999]','[' + new_id + ']');
|
522 |
+
$(this).attr('name', name);
|
523 |
+
$(this).attr('id', name);
|
524 |
+
|
525 |
+
});
|
526 |
+
|
527 |
+
// hide no values message
|
528 |
+
div.children('.no_value_message').hide();
|
529 |
+
|
530 |
+
// add row
|
531 |
+
div.children('.values').append(new_field);
|
532 |
+
|
533 |
+
// activate wysiwyg
|
534 |
+
new_field.acf_activate_wysiwyg();
|
535 |
+
|
536 |
+
update_order_numbers(div);
|
537 |
+
|
538 |
+
// hide acf popup
|
539 |
+
$(this).closest('.table_footer').find('#add_field').removeClass('active');
|
540 |
+
$(this).closest('.acf_popup').hide();
|
541 |
+
|
542 |
+
return false;
|
543 |
+
|
544 |
+
});
|
545 |
+
|
546 |
+
|
547 |
+
|
548 |
+
$(document).ready(function(){
|
549 |
+
|
550 |
+
$('#poststuff .acf_flexible_content').each(function(){
|
551 |
+
|
552 |
+
// sortable
|
553 |
+
make_sortable($(this));
|
554 |
+
});
|
555 |
+
|
556 |
+
});
|
557 |
+
|
558 |
+
})(jQuery);
|
559 |
+
</script>
|
560 |
+
<?php
|
561 |
+
}
|
562 |
+
|
563 |
+
|
564 |
+
/*--------------------------------------------------------------------------------------
|
565 |
+
*
|
566 |
+
* admin_head_field
|
567 |
+
* - add extra script / style to field edit page
|
568 |
+
*
|
569 |
+
* @author Elliot Condon
|
570 |
+
* @since 2.2.0
|
571 |
+
*
|
572 |
+
*-------------------------------------------------------------------------------------*/
|
573 |
+
|
574 |
+
function admin_head_field()
|
575 |
+
{
|
576 |
+
// only add to edit pages
|
577 |
+
if(in_array($GLOBALS['pagenow'], array('post.php', 'post-new.php')))
|
578 |
+
{
|
579 |
+
|
580 |
+
if($GLOBALS['post_type'] == 'acf')
|
581 |
+
{
|
582 |
+
?>
|
583 |
+
<style type="text/css">
|
584 |
+
table.acf_input table.acf_cf_meta {
|
585 |
+
width: 100%;
|
586 |
+
border: 0 none;
|
587 |
+
}
|
588 |
+
|
589 |
+
table.acf_input table.acf_cf_meta td {
|
590 |
+
border: 0 none;
|
591 |
+
width: 33%;
|
592 |
+
}
|
593 |
+
|
594 |
+
table.acf_input table.acf_cf_meta label {
|
595 |
+
width: 20%;
|
596 |
+
color: #333333;
|
597 |
+
font-weight: bold;
|
598 |
+
}
|
599 |
+
|
600 |
+
table.acf_input table.acf_cf_meta input {
|
601 |
+
width: 80%;
|
602 |
+
}
|
603 |
+
|
604 |
+
table.acf_input table.acf_cf_meta select {
|
605 |
+
width: 75%;
|
606 |
+
}
|
607 |
+
|
608 |
+
.acf_fc_reorder {
|
609 |
+
cursor: move;
|
610 |
+
}
|
611 |
+
|
612 |
+
.ui-state-highlight {
|
613 |
+
height: 40px;
|
614 |
+
}
|
615 |
+
|
616 |
+
.field_form table.acf_input .field_option_flexible_content > td {
|
617 |
+
background: #f9f9f9;
|
618 |
+
}
|
619 |
+
</style>
|
620 |
+
<script type="text/javascript">
|
621 |
+
(function($){
|
622 |
+
|
623 |
+
/*----------------------------------------------------------------------
|
624 |
+
*
|
625 |
+
* uniqid
|
626 |
+
*
|
627 |
+
*---------------------------------------------------------------------*/
|
628 |
+
|
629 |
+
function uniqid()
|
630 |
+
{
|
631 |
+
var newDate = new Date;
|
632 |
+
return newDate.getTime();
|
633 |
+
}
|
634 |
+
|
635 |
+
|
636 |
+
/*----------------------------------------------------------------------
|
637 |
+
*
|
638 |
+
* Add Layout Option
|
639 |
+
*
|
640 |
+
*---------------------------------------------------------------------*/
|
641 |
+
|
642 |
+
$('#acf_fields .acf_fc_add').live('click', function(){
|
643 |
+
|
644 |
+
// vars
|
645 |
+
var tr = $(this).closest('tr.field_option_flexible_content');
|
646 |
+
var new_tr = $(this).closest('.field_form').find('tr.field_option_flexible_content:first').clone(false);
|
647 |
+
|
648 |
+
// remove sub fields
|
649 |
+
new_tr.find('.sub_field.field').remove();
|
650 |
+
|
651 |
+
// show add new message
|
652 |
+
new_tr.find('.no_fields_message').show();
|
653 |
+
|
654 |
+
// reset layout meta values
|
655 |
+
new_tr.find('.acf_cf_meta input[type="text"]').val('');
|
656 |
+
new_tr.find('.acf_cf_meta select').val('table');
|
657 |
+
|
658 |
+
// update id / names
|
659 |
+
var new_id = uniqid();
|
660 |
+
|
661 |
+
new_tr.find('[name]').each(function(){
|
662 |
+
|
663 |
+
var name = $(this).attr('name').replace('[layouts][0]','[layouts]['+new_id+']');
|
664 |
+
$(this).attr('name', name);
|
665 |
+
$(this).attr('id', name);
|
666 |
+
|
667 |
+
});
|
668 |
+
|
669 |
+
// add new tr
|
670 |
+
tr.after(new_tr);
|
671 |
+
|
672 |
+
// add drag / drop
|
673 |
+
new_tr.find('.fields').sortable({
|
674 |
+
handle: 'td.field_order'
|
675 |
+
});
|
676 |
+
|
677 |
+
return false;
|
678 |
+
});
|
679 |
+
|
680 |
+
|
681 |
+
/*----------------------------------------------------------------------
|
682 |
+
*
|
683 |
+
* Delete Layout Option
|
684 |
+
*
|
685 |
+
*---------------------------------------------------------------------*/
|
686 |
+
|
687 |
+
$('#acf_fields .acf_fc_delete').live('click', function(){
|
688 |
+
|
689 |
+
var tr = $(this).closest('tr.field_option_flexible_content');
|
690 |
+
var tr_count = tr.siblings('tr.field_option.field_option_flexible_content').length;
|
691 |
+
|
692 |
+
if(tr_count == 0)
|
693 |
+
{
|
694 |
+
alert('Flexible Content requires at least 1 layout');
|
695 |
+
return false;
|
696 |
+
}
|
697 |
+
|
698 |
+
tr.animate({'left' : '50px', 'opacity' : 0}, 250, function(){
|
699 |
+
tr.remove();
|
700 |
+
});
|
701 |
+
|
702 |
+
});
|
703 |
+
|
704 |
+
|
705 |
+
/*----------------------------------------------------------------------
|
706 |
+
*
|
707 |
+
* Sortable Layout Option
|
708 |
+
*
|
709 |
+
*---------------------------------------------------------------------*/
|
710 |
+
|
711 |
+
$('#acf_fields .acf_fc_reorder').live('mouseover', function(){
|
712 |
+
|
713 |
+
var table = $(this).closest('table.acf_field_form_table');
|
714 |
+
|
715 |
+
if(table.hasClass('sortable')) return false;
|
716 |
+
|
717 |
+
var fixHelper = function(e, ui) {
|
718 |
+
ui.children().each(function() {
|
719 |
+
$(this).width($(this).width());
|
720 |
+
});
|
721 |
+
return ui;
|
722 |
+
};
|
723 |
+
|
724 |
+
table.addClass('sortable').children('tbody').sortable({
|
725 |
+
items: ".field_option_flexible_content",
|
726 |
+
handle: 'a.acf_fc_reorder',
|
727 |
+
helper: fixHelper,
|
728 |
+
placeholder: "ui-state-highlight"
|
729 |
+
});
|
730 |
+
|
731 |
+
});
|
732 |
+
|
733 |
+
|
734 |
+
/*----------------------------------------------------------------------
|
735 |
+
*
|
736 |
+
* Label update name
|
737 |
+
*
|
738 |
+
*---------------------------------------------------------------------*/
|
739 |
+
|
740 |
+
$('#acf_fields .acf_fc_label input[type="text"]').live('blur', function(){
|
741 |
+
var input = $(this).parents('td').siblings('td.acf_fc_name').find('input[type="text"]');
|
742 |
+
if(input.val() == ''){
|
743 |
+
input.val($(this).val());
|
744 |
+
};
|
745 |
+
});
|
746 |
+
|
747 |
+
})(jQuery);
|
748 |
+
</script>
|
749 |
+
<?php
|
750 |
+
}
|
751 |
+
}
|
752 |
+
}
|
753 |
+
|
754 |
+
|
755 |
+
/*--------------------------------------------------------------------------------------
|
756 |
+
*
|
757 |
+
* admin_print_scripts / admin_print_styles
|
758 |
+
*
|
759 |
+
* @author Elliot Condon
|
760 |
+
* @since 3.0.0
|
761 |
+
*
|
762 |
+
*-------------------------------------------------------------------------------------*/
|
763 |
+
|
764 |
+
function admin_print_scripts()
|
765 |
+
{
|
766 |
+
wp_enqueue_script(array(
|
767 |
+
|
768 |
+
'jquery-ui-sortable',
|
769 |
+
|
770 |
+
));
|
771 |
+
}
|
772 |
+
|
773 |
+
function admin_print_styles()
|
774 |
+
{
|
775 |
+
|
776 |
+
}
|
777 |
+
|
778 |
+
|
779 |
+
/*--------------------------------------------------------------------------------------
|
780 |
+
*
|
781 |
+
* update_value
|
782 |
+
*
|
783 |
+
* @author Elliot Condon
|
784 |
+
* @since 2.2.0
|
785 |
+
*
|
786 |
+
*-------------------------------------------------------------------------------------*/
|
787 |
+
|
788 |
+
function update_value($post_id, $field, $value)
|
789 |
+
{
|
790 |
+
$sub_fields = array();
|
791 |
+
|
792 |
+
foreach($field['layouts'] as $layout)
|
793 |
+
{
|
794 |
+
foreach($layout['sub_fields'] as $sub_field)
|
795 |
+
{
|
796 |
+
$sub_fields[$sub_field['key']] = $sub_field;
|
797 |
+
}
|
798 |
+
}
|
799 |
+
|
800 |
+
$total = array();
|
801 |
+
|
802 |
+
if($value)
|
803 |
+
{
|
804 |
+
// remove dummy field
|
805 |
+
unset($value[999]);
|
806 |
+
|
807 |
+
$i = -1;
|
808 |
+
|
809 |
+
// loop through rows
|
810 |
+
foreach($value as $row)
|
811 |
+
{
|
812 |
+
$i++;
|
813 |
+
|
814 |
+
// increase total
|
815 |
+
$total[] = $row['acf_fc_layout'];
|
816 |
+
unset($row['acf_fc_layout']);
|
817 |
+
|
818 |
+
// loop through sub fields
|
819 |
+
foreach($row as $field_key => $value)
|
820 |
+
{
|
821 |
+
$sub_field = $sub_fields[$field_key];
|
822 |
+
|
823 |
+
// update full name
|
824 |
+
$sub_field['name'] = $field['name'] . '_' . $i . '_' . $sub_field['name'];
|
825 |
+
|
826 |
+
// save sub field value
|
827 |
+
$this->parent->update_value($post_id, $sub_field, $value);
|
828 |
+
}
|
829 |
+
}
|
830 |
+
}
|
831 |
+
|
832 |
+
parent::update_value($post_id, $field, $total);
|
833 |
+
|
834 |
+
}
|
835 |
+
|
836 |
+
|
837 |
+
/*--------------------------------------------------------------------------------------
|
838 |
+
*
|
839 |
+
* pre_save_field
|
840 |
+
* - called just before saving the field to the database.
|
841 |
+
*
|
842 |
+
* @author Elliot Condon
|
843 |
+
* @since 2.2.0
|
844 |
+
*
|
845 |
+
*-------------------------------------------------------------------------------------*/
|
846 |
+
|
847 |
+
function pre_save_field($field)
|
848 |
+
{
|
849 |
+
|
850 |
+
// format sub_fields
|
851 |
+
if($field['layouts'])
|
852 |
+
{
|
853 |
+
|
854 |
+
$layouts = array();
|
855 |
+
|
856 |
+
// loop through and save fields
|
857 |
+
foreach($field['layouts'] as $l)
|
858 |
+
{
|
859 |
+
// remove dummy field
|
860 |
+
unset($l['sub_fields'][999]);
|
861 |
+
|
862 |
+
// loop through and save fields
|
863 |
+
$i = -1;
|
864 |
+
|
865 |
+
$sub_fields = array();
|
866 |
+
|
867 |
+
if($l['sub_fields'])
|
868 |
+
{
|
869 |
+
foreach($l['sub_fields'] as $f)
|
870 |
+
{
|
871 |
+
$i++;
|
872 |
+
|
873 |
+
// each field has a unique id!
|
874 |
+
if(!isset($f['key'])) $f['key'] = 'field_' . uniqid();
|
875 |
+
|
876 |
+
// order
|
877 |
+
$f['order_no'] = $i;
|
878 |
+
|
879 |
+
// format
|
880 |
+
$f = $this->parent->pre_save_field($f);
|
881 |
+
|
882 |
+
$sub_fields[] = $f;
|
883 |
+
}
|
884 |
+
}
|
885 |
+
$l['sub_fields'] = $sub_fields;
|
886 |
+
|
887 |
+
$layouts[] = $l;
|
888 |
+
|
889 |
+
}
|
890 |
+
|
891 |
+
$field['layouts'] = $layouts;
|
892 |
+
|
893 |
+
}
|
894 |
+
|
895 |
+
// return updated repeater field
|
896 |
+
return $field;
|
897 |
+
|
898 |
+
}
|
899 |
+
|
900 |
+
|
901 |
+
/*--------------------------------------------------------------------------------------
|
902 |
+
*
|
903 |
+
* get_value
|
904 |
+
* - called from the input edit page to get the value.
|
905 |
+
*
|
906 |
+
* @author Elliot Condon
|
907 |
+
* @since 2.2.0
|
908 |
+
*
|
909 |
+
*-------------------------------------------------------------------------------------*/
|
910 |
+
|
911 |
+
function get_value($post_id, $field)
|
912 |
+
{
|
913 |
+
$layouts = array();
|
914 |
+
foreach($field['layouts'] as $l)
|
915 |
+
{
|
916 |
+
$layouts[$l['name']] = $l;
|
917 |
+
}
|
918 |
+
|
919 |
+
// vars
|
920 |
+
$values = array();
|
921 |
+
$layout_order = get_post_meta($post_id, $field['name'], true);
|
922 |
+
|
923 |
+
|
924 |
+
if($layout_order)
|
925 |
+
{
|
926 |
+
$i = -1;
|
927 |
+
// loop through rows
|
928 |
+
foreach($layout_order as $layout)
|
929 |
+
{
|
930 |
+
$i++;
|
931 |
+
$values[$i]['acf_fc_layout'] = $layout;
|
932 |
+
|
933 |
+
// check if layout still exists
|
934 |
+
if(isset($layouts[$layout]))
|
935 |
+
{
|
936 |
+
// loop through sub fields
|
937 |
+
foreach($layouts[$layout]['sub_fields'] as $sub_field)
|
938 |
+
{
|
939 |
+
// store name
|
940 |
+
$field_name = $sub_field['name'];
|
941 |
+
|
942 |
+
// update full name
|
943 |
+
$sub_field['name'] = $field['name'] . '_' . $i . '_' . $field_name;
|
944 |
+
|
945 |
+
$values[$i][$field_name] = $this->parent->get_value($post_id, $sub_field);
|
946 |
+
}
|
947 |
+
}
|
948 |
+
}
|
949 |
+
|
950 |
+
return $values;
|
951 |
+
}
|
952 |
+
|
953 |
+
return array();
|
954 |
+
}
|
955 |
+
|
956 |
+
|
957 |
+
/*--------------------------------------------------------------------------------------
|
958 |
+
*
|
959 |
+
* get_value_for_api
|
960 |
+
*
|
961 |
+
* @author Elliot Condon
|
962 |
+
* @since 3.0.0
|
963 |
+
*
|
964 |
+
*-------------------------------------------------------------------------------------*/
|
965 |
+
|
966 |
+
function get_value_for_api($post_id, $field)
|
967 |
+
{
|
968 |
+
$layouts = array();
|
969 |
+
foreach($field['layouts'] as $l)
|
970 |
+
{
|
971 |
+
$layouts[$l['name']] = $l;
|
972 |
+
}
|
973 |
+
|
974 |
+
// vars
|
975 |
+
$values = array();
|
976 |
+
$layout_order = get_post_meta($post_id, $field['name'], true);
|
977 |
+
|
978 |
+
|
979 |
+
if($layout_order)
|
980 |
+
{
|
981 |
+
$i = -1;
|
982 |
+
// loop through rows
|
983 |
+
foreach($layout_order as $layout)
|
984 |
+
{
|
985 |
+
$i++;
|
986 |
+
$values[$i]['acf_fc_layout'] = $layout;
|
987 |
+
|
988 |
+
// loop through sub fields
|
989 |
+
foreach($layouts[$layout]['sub_fields'] as $sub_field)
|
990 |
+
{
|
991 |
+
// store name
|
992 |
+
$field_name = $sub_field['name'];
|
993 |
+
|
994 |
+
// update full name
|
995 |
+
$sub_field['name'] = $field['name'] . '_' . $i . '_' . $field_name;
|
996 |
+
|
997 |
+
$values[$i][$field_name] = $this->parent->get_value_for_api($post_id, $sub_field);
|
998 |
+
}
|
999 |
+
}
|
1000 |
+
|
1001 |
+
return $values;
|
1002 |
+
}
|
1003 |
+
|
1004 |
+
return array();
|
1005 |
+
}
|
1006 |
+
|
1007 |
+
}
|
1008 |
+
|
1009 |
+
?>
|
core/fields/repeater.php
CHANGED
@@ -246,8 +246,8 @@ class acf_Repeater extends acf_Field
|
|
246 |
<th class="order"><!-- order --></th>
|
247 |
<?php endif; ?>
|
248 |
|
249 |
-
<?php foreach($sub_fields as $sub_field):?>
|
250 |
-
<th class="<?php echo $sub_field['name']; ?>" style="width:<?php echo
|
251 |
<?php endforeach; ?>
|
252 |
|
253 |
<?php if($row_limit > 1): ?>
|
@@ -309,7 +309,7 @@ class acf_Repeater extends acf_Field
|
|
309 |
<?php if($row_limit > 1): ?>
|
310 |
<div class="table_footer">
|
311 |
<div class="order_message"></div>
|
312 |
-
<a href="javascript:;" id="add_field" class="button-primary"
|
313 |
</div>
|
314 |
<?php endif; ?>
|
315 |
</div>
|
246 |
<th class="order"><!-- order --></th>
|
247 |
<?php endif; ?>
|
248 |
|
249 |
+
<?php foreach($sub_fields as $sub_field_i => $sub_field):?>
|
250 |
+
<th class="<?php echo $sub_field['name']; ?>" <?php if($sub_field_i != 0): ?>style="width:<?php echo 95/count($sub_fields); ?>%;"<?php endif; ?>><span><?php echo $sub_field['label']; ?></span></th>
|
251 |
<?php endforeach; ?>
|
252 |
|
253 |
<?php if($row_limit > 1): ?>
|
309 |
<?php if($row_limit > 1): ?>
|
310 |
<div class="table_footer">
|
311 |
<div class="order_message"></div>
|
312 |
+
<a href="javascript:;" id="add_field" class="button-primary"><?php _e("+ Add Row",'acf'); ?></a>
|
313 |
</div>
|
314 |
<?php endif; ?>
|
315 |
</div>
|
core/fields/wysiwyg.php
CHANGED
@@ -20,11 +20,37 @@ class acf_Wysiwyg extends acf_Field
|
|
20 |
$this->name = 'wysiwyg';
|
21 |
$this->title = __("Wysiwyg Editor",'acf');
|
22 |
|
23 |
-
add_action('admin_head', '
|
24 |
|
25 |
}
|
26 |
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
/*--------------------------------------------------------------------------------------
|
29 |
*
|
30 |
* admin_print_scripts / admin_print_styles
|
@@ -272,29 +298,38 @@ class acf_Wysiwyg extends acf_Field
|
|
272 |
|
273 |
$id = 'wysiwyg_' . uniqid();
|
274 |
|
|
|
275 |
|
276 |
?>
|
277 |
-
<div class="acf_wysiwyg" data-toolbar="<?php echo $field['toolbar']; ?>">
|
278 |
<?php if($field['media_upload'] == 'yes'): ?>
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
<
|
290 |
-
|
291 |
-
|
292 |
-
<
|
293 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
</div>
|
295 |
-
|
296 |
<?php endif; ?>
|
297 |
-
<div id="editorcontainer">
|
298 |
<textarea id="<?php echo $field['name']; ?>" name="<?php echo $field['name']; ?>" ><?php echo wp_richedit_pre($field['value']); ?></textarea>
|
299 |
</div>
|
300 |
</div>
|
20 |
$this->name = 'wysiwyg';
|
21 |
$this->title = __("Wysiwyg Editor",'acf');
|
22 |
|
23 |
+
add_action('admin_head', array($this, 'add_tiny_mce'));
|
24 |
|
25 |
}
|
26 |
|
27 |
|
28 |
+
/*--------------------------------------------------------------------------------------
|
29 |
+
*
|
30 |
+
* add_tiny_mce
|
31 |
+
*
|
32 |
+
* @author Elliot Condon
|
33 |
+
* @since 3.0.3
|
34 |
+
* @updated 3.0.3
|
35 |
+
*
|
36 |
+
*-------------------------------------------------------------------------------------*/
|
37 |
+
|
38 |
+
function add_tiny_mce()
|
39 |
+
{
|
40 |
+
global $post;
|
41 |
+
|
42 |
+
if($post && post_type_supports($post->post_type, 'editor'))
|
43 |
+
{
|
44 |
+
// do nothing, wysiwyg will render correctly!
|
45 |
+
}
|
46 |
+
else
|
47 |
+
{
|
48 |
+
wp_tiny_mce();
|
49 |
+
}
|
50 |
+
|
51 |
+
}
|
52 |
+
|
53 |
+
|
54 |
/*--------------------------------------------------------------------------------------
|
55 |
*
|
56 |
* admin_print_scripts / admin_print_styles
|
298 |
|
299 |
$id = 'wysiwyg_' . uniqid();
|
300 |
|
301 |
+
$version = get_bloginfo('version');
|
302 |
|
303 |
?>
|
304 |
+
<div class="acf_wysiwyg wp-editor-wrap" data-toolbar="<?php echo $field['toolbar']; ?>">
|
305 |
<?php if($field['media_upload'] == 'yes'): ?>
|
306 |
+
<?php if(version_compare($version,'3.2.1') > 0): ?>
|
307 |
+
<div class="wp-editor-tools" id="wp-content-editor-tools">
|
308 |
+
<div class="hide-if-no-js wp-media-buttons" id="wp-content-media-buttons">
|
309 |
+
<a onclick="return false;" title="<?php _e("Add Media"); ?>" id="content-add_media" class="thickbox add_media" href="<?php echo $this->parent->wpadminurl; ?>media-upload.php?post_id=5&TB_iframe=1&width=640&height=526"><?php _e("Upload/Insert"); ?> <img width="15" height="15" src="<?php echo $this->parent->wpadminurl; ?>images/media-button.png?ver=20111005"></a>
|
310 |
+
</div>
|
311 |
+
</div>
|
312 |
+
<?php else: ?>
|
313 |
+
<div id="editor-toolbar" class="hide-if-no-js">
|
314 |
+
<div id="media-buttons" class="hide-if-no-js">
|
315 |
+
<?php _e("Upload/Insert"); ?>
|
316 |
+
<a title="<?php _e("Add an Image"); ?>" class="thickbox" id="add_image" href="media-upload.php?post_id=1802&type=image&TB_iframe=1&width=640&height=314">
|
317 |
+
<img onclick="return false;" alt="<?php _e("Add an Image"); ?>" src="<?php echo $this->parent->wpadminurl; ?>images/media-button-image.gif?ver=20100531">
|
318 |
+
</a>
|
319 |
+
<a title="<?php _e("Add Video"); ?>" class="thickbox" id="add_video" href="media-upload.php?post_id=1802&type=video&TB_iframe=1&width=640&height=314">
|
320 |
+
<img onclick="return false;" alt="<?php _e("Add Video"); ?>" src="<?php echo $this->parent->wpadminurl; ?>images/media-button-video.gif?ver=20100531">
|
321 |
+
</a>
|
322 |
+
<a title="<?php _e("Add Audio"); ?>" class="thickbox" id="add_audio" href="media-upload.php?post_id=1802&type=audio&TB_iframe=1&width=640&height=314">
|
323 |
+
<img onclick="return false;" alt="<?php _e("Add Audio"); ?>" src="<?php echo $this->parent->wpadminurl; ?>images/media-button-music.gif?ver=20100531">
|
324 |
+
</a>
|
325 |
+
<a title="<?php _e("Add Media"); ?>" class="thickbox" id="add_media" href="media-upload.php?post_id=1802&TB_iframe=1&width=640&height=314">
|
326 |
+
<img onclick="return false;" alt="<?php _e("Add Media"); ?>" src="<?php echo $this->parent->wpadminurl; ?>images/media-button-other.gif?ver=20100531">
|
327 |
+
</a>
|
328 |
+
</div>
|
329 |
</div>
|
330 |
+
<?php endif; ?>
|
331 |
<?php endif; ?>
|
332 |
+
<div id="editorcontainer" class="wp-editor-container">
|
333 |
<textarea id="<?php echo $field['name']; ?>" name="<?php echo $field['name']; ?>" ><?php echo wp_richedit_pre($field['value']); ?></textarea>
|
334 |
</div>
|
335 |
</div>
|
css/fields.css
CHANGED
@@ -196,6 +196,7 @@ table.widefat.acf td {
|
|
196 |
.fields .field {
|
197 |
position: relative;
|
198 |
overflow: hidden;
|
|
|
199 |
}
|
200 |
|
201 |
.fields .field:nth-child(even) {
|
196 |
.fields .field {
|
197 |
position: relative;
|
198 |
overflow: hidden;
|
199 |
+
background: #F5F5F5;
|
200 |
}
|
201 |
|
202 |
.fields .field:nth-child(even) {
|
css/global.css
CHANGED
@@ -58,6 +58,10 @@ table.acf_input select{
|
|
58 |
outline: none;
|
59 |
}
|
60 |
|
|
|
|
|
|
|
|
|
61 |
table.acf_input input[type=text]:focus,
|
62 |
table.acf_input textarea:focus,
|
63 |
table.acf_input select:focus {
|
58 |
outline: none;
|
59 |
}
|
60 |
|
61 |
+
table.acf_input select {
|
62 |
+
padding: 2px;
|
63 |
+
}
|
64 |
+
|
65 |
table.acf_input input[type=text]:focus,
|
66 |
table.acf_input textarea:focus,
|
67 |
table.acf_input select:focus {
|
css/input.css
CHANGED
@@ -546,7 +546,7 @@ ul.checkbox_list {
|
|
546 |
position: absolute;
|
547 |
bottom: 25px;
|
548 |
right: 0;
|
549 |
-
background: #
|
550 |
border-radius: 5px;
|
551 |
box-shadow: rgba(0,0,0,0.25) 0 0 13px;
|
552 |
margin-bottom: 25px;
|
@@ -576,15 +576,16 @@ ul.checkbox_list {
|
|
576 |
}
|
577 |
|
578 |
.acf_popup ul li a {
|
579 |
-
color: #
|
580 |
font-size: 12px;
|
581 |
line-height: 14px;
|
582 |
padding: 7px 11px;
|
583 |
display: block;
|
584 |
border: 1px solid transparent;
|
585 |
-
border-bottom: 1px solid #
|
|
|
586 |
text-decoration: none;
|
587 |
-
min-width:
|
588 |
}
|
589 |
|
590 |
.acf_popup ul li:first-child a {
|
@@ -602,17 +603,14 @@ ul.checkbox_list {
|
|
602 |
}
|
603 |
|
604 |
.acf_popup ul li a:hover {
|
605 |
-
background: #
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
/*.acf_popup ul li a:hover {
|
611 |
-
background: #EAF2FA url("../images/backgrounds.png") repeat-x scroll 0 0 #6E6E6E;
|
612 |
-
border: 1px solid #565656 !important;
|
613 |
color: #FFFFFF;
|
614 |
-
text-shadow: 0 1px 0 #
|
615 |
-
}
|
616 |
|
617 |
.acf_flexible_content .no_value_message {
|
618 |
padding: 19px;
|
546 |
position: absolute;
|
547 |
bottom: 25px;
|
548 |
right: 0;
|
549 |
+
background: #464646;
|
550 |
border-radius: 5px;
|
551 |
box-shadow: rgba(0,0,0,0.25) 0 0 13px;
|
552 |
margin-bottom: 25px;
|
576 |
}
|
577 |
|
578 |
.acf_popup ul li a {
|
579 |
+
color: #cccccc;
|
580 |
font-size: 12px;
|
581 |
line-height: 14px;
|
582 |
padding: 7px 11px;
|
583 |
display: block;
|
584 |
border: 1px solid transparent;
|
585 |
+
border-bottom: 1px solid #333333;
|
586 |
+
border-top: 1px solid #555555;
|
587 |
text-decoration: none;
|
588 |
+
min-width: 100px;
|
589 |
}
|
590 |
|
591 |
.acf_popup ul li:first-child a {
|
603 |
}
|
604 |
|
605 |
.acf_popup ul li a:hover {
|
606 |
+
background: #2b8ab8;
|
607 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2b8ab8', endColorstr='#227096'); /* for IE */
|
608 |
+
background: -webkit-gradient(linear, left top, left bottom, from(#2b8ab8), to(#227096)); /* for webkit browsers */
|
609 |
+
background: -moz-linear-gradient(top, #2b8ab8, #227096); /* for firefox 3.6+ */
|
610 |
+
border: 1px solid #227096 !important;
|
|
|
|
|
|
|
611 |
color: #FFFFFF;
|
612 |
+
text-shadow: 0 1px 0 #227096;
|
613 |
+
}
|
614 |
|
615 |
.acf_flexible_content .no_value_message {
|
616 |
padding: 19px;
|
images/popup-bit.png
CHANGED
Binary file
|
js/fields.js
CHANGED
@@ -149,13 +149,13 @@
|
|
149 |
var type = $(this).val();
|
150 |
|
151 |
// does it have repeater?
|
152 |
-
if(!$(this).find('option[value="repeater"]').exists() && !$(this).find('option[value="null"]').exists())
|
153 |
{
|
154 |
if($(this).closest('.repeater').length == 0)
|
155 |
{
|
156 |
$(this).append('<option value="null" disabled="true">Repeater (Unlock field with activation code)</option>');
|
157 |
}
|
158 |
-
}
|
159 |
|
160 |
tbody.children('tr.field_option').hide();
|
161 |
tbody.children('tr.field_option').find('[name]').attr('disabled', 'true');
|
@@ -407,7 +407,7 @@
|
|
407 |
|
408 |
|
409 |
// add active to Settings Menu
|
410 |
-
$('#adminmenu #menu-settings').addClass('current wp-menu-open');
|
411 |
|
412 |
// setup fields
|
413 |
setup_fields();
|
149 |
var type = $(this).val();
|
150 |
|
151 |
// does it have repeater?
|
152 |
+
/*if(!$(this).find('option[value="repeater"]').exists() && !$(this).find('option[value="null"]').exists())
|
153 |
{
|
154 |
if($(this).closest('.repeater').length == 0)
|
155 |
{
|
156 |
$(this).append('<option value="null" disabled="true">Repeater (Unlock field with activation code)</option>');
|
157 |
}
|
158 |
+
}*/
|
159 |
|
160 |
tbody.children('tr.field_option').hide();
|
161 |
tbody.children('tr.field_option').find('[name]').attr('disabled', 'true');
|
407 |
|
408 |
|
409 |
// add active to Settings Menu
|
410 |
+
$('#adminmenu #menu-settings').removeClass('wp-not-current-submenu').addClass('current wp-menu-open wp-has-current-submenu');
|
411 |
|
412 |
// setup fields
|
413 |
setup_fields();
|
lang/acf-fr_FR.mo
ADDED
Binary file
|
lang/acf-fr_FR.po
ADDED
@@ -0,0 +1,425 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2010
|
2 |
+
# This file is distributed under the same license as the package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: \n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/advanced-custom-fields\n"
|
7 |
+
"POT-Creation-Date: 2011-07-16 04:46:14+00:00\n"
|
8 |
+
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
+
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2011-11-28 11:30-0300\n"
|
12 |
+
"Last-Translator: Netactions <infos@netactions.net>\n"
|
13 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
+
|
15 |
+
#: core/fields/wysiwyg.php:11
|
16 |
+
msgid "Wysiwyg Editor"
|
17 |
+
msgstr "Editeur WYSIWYG"
|
18 |
+
|
19 |
+
#: core/fields/post_object.php:12
|
20 |
+
msgid "Post Object"
|
21 |
+
msgstr "Objet 'article'"
|
22 |
+
|
23 |
+
#: core/fields/post_object.php:48
|
24 |
+
msgid "Select Option"
|
25 |
+
msgstr "Sélectionner une option"
|
26 |
+
|
27 |
+
#: core/fields/post_object.php:132
|
28 |
+
#: core/fields/page_link.php:144
|
29 |
+
msgid "Post Type"
|
30 |
+
msgstr "Type d'article"
|
31 |
+
|
32 |
+
#: core/fields/post_object.php:133
|
33 |
+
#: core/fields/page_link.php:145
|
34 |
+
msgid ""
|
35 |
+
"Filter posts by selecting a post type<br />\n"
|
36 |
+
"\t\t\t\tTip: deselect all post types to show all post type's posts"
|
37 |
+
msgstr ""
|
38 |
+
"FIltrer les articles par type<br />\n"
|
39 |
+
"\t\t\t\tAstuce : Ne pas sélectionner de type pour montrer tous les articles"
|
40 |
+
|
41 |
+
#: core/fields/post_object.php:164
|
42 |
+
msgid "Select multiple posts?"
|
43 |
+
msgstr "Sélectionner plusieurs articles ?"
|
44 |
+
|
45 |
+
#: core/fields/textarea.php:11
|
46 |
+
msgid "Text Area"
|
47 |
+
msgstr "Zone de texte"
|
48 |
+
|
49 |
+
#: core/fields/repeater.php:13
|
50 |
+
#: core/screen_extra.php:23
|
51 |
+
msgid "Repeater"
|
52 |
+
msgstr "Zone répétable"
|
53 |
+
|
54 |
+
#: core/fields/repeater.php:165
|
55 |
+
msgid "Repeater Fields"
|
56 |
+
msgstr "Champs répétables"
|
57 |
+
|
58 |
+
#: core/fields/repeater.php:172
|
59 |
+
#: core/fields_meta_box.php:36
|
60 |
+
msgid "Field Order"
|
61 |
+
msgstr "Position du champ"
|
62 |
+
|
63 |
+
#: core/fields/repeater.php:173
|
64 |
+
#: core/fields_meta_box.php:37
|
65 |
+
#: core/fields_meta_box.php:87
|
66 |
+
msgid "Field Label"
|
67 |
+
msgstr "Titre du champ"
|
68 |
+
|
69 |
+
#: core/fields/repeater.php:174
|
70 |
+
#: core/fields_meta_box.php:38
|
71 |
+
#: core/fields_meta_box.php:106
|
72 |
+
msgid "Field Name"
|
73 |
+
msgstr "Nom du champ"
|
74 |
+
|
75 |
+
#: core/fields/repeater.php:175
|
76 |
+
#: core/screen_extra.php:9
|
77 |
+
#: core/fields_meta_box.php:39
|
78 |
+
#: core/fields_meta_box.php:124
|
79 |
+
msgid "Field Type"
|
80 |
+
msgstr "Type du champ"
|
81 |
+
|
82 |
+
#: core/fields/repeater.php:301
|
83 |
+
msgid "Row Limit"
|
84 |
+
msgstr "Nombre max de lignes"
|
85 |
+
|
86 |
+
#: core/fields/repeater.php:310
|
87 |
+
msgid "Layout"
|
88 |
+
msgstr "Disposition"
|
89 |
+
|
90 |
+
#: core/fields/true_false.php:11
|
91 |
+
msgid "True / False"
|
92 |
+
msgstr "Vrai / Faux"
|
93 |
+
|
94 |
+
#: core/fields/true_false.php:64
|
95 |
+
msgid "Message"
|
96 |
+
msgstr "Message"
|
97 |
+
|
98 |
+
#: core/fields/true_false.php:65
|
99 |
+
msgid "eg. Show extra content"
|
100 |
+
msgstr "ex : Montrer du contenu supplémentaire"
|
101 |
+
|
102 |
+
#: core/fields/file.php:12
|
103 |
+
msgid "File"
|
104 |
+
msgstr "Fichier"
|
105 |
+
|
106 |
+
#: core/fields/file.php:36
|
107 |
+
#: core/fields/image.php:36
|
108 |
+
msgid "Save Format"
|
109 |
+
msgstr "Enregistrer"
|
110 |
+
|
111 |
+
#: core/fields/file.php:103
|
112 |
+
msgid "Select File"
|
113 |
+
msgstr "Sélectionner un fichier"
|
114 |
+
|
115 |
+
#: core/fields/file.php:189
|
116 |
+
#: core/fields/file.php:193
|
117 |
+
msgid "Remove File"
|
118 |
+
msgstr "Supprimer le fichier"
|
119 |
+
|
120 |
+
#: core/fields/file.php:197
|
121 |
+
msgid "No File selected"
|
122 |
+
msgstr "Aucun fichier sélectionné"
|
123 |
+
|
124 |
+
#: core/fields/file.php:197
|
125 |
+
msgid "Add File"
|
126 |
+
msgstr "Ajouter un fichier"
|
127 |
+
|
128 |
+
#: core/fields/page_link.php:12
|
129 |
+
msgid "Page Link"
|
130 |
+
msgstr "Lien de la page"
|
131 |
+
|
132 |
+
#: core/fields/page_link.php:177
|
133 |
+
#: core/fields/select.php:107
|
134 |
+
msgid "Select multiple values?"
|
135 |
+
msgstr "Plusieurs valeurs possibles ?"
|
136 |
+
|
137 |
+
#: core/fields/select.php:12
|
138 |
+
msgid "Select"
|
139 |
+
msgstr "Sélectionner"
|
140 |
+
|
141 |
+
#: core/fields/select.php:89
|
142 |
+
#: core/fields/checkbox.php:74
|
143 |
+
msgid "Choices"
|
144 |
+
msgstr "Choix"
|
145 |
+
|
146 |
+
#: core/fields/select.php:90
|
147 |
+
#: core/fields/checkbox.php:75
|
148 |
+
msgid ""
|
149 |
+
"Enter your choices one per line<br />\n"
|
150 |
+
"\t\t\t\t<br />\n"
|
151 |
+
"\t\t\t\tRed<br />\n"
|
152 |
+
"\t\t\t\tBlue<br />\n"
|
153 |
+
"\t\t\t\t<br />\n"
|
154 |
+
"\t\t\t\tor<br />\n"
|
155 |
+
"\t\t\t\t<br />\n"
|
156 |
+
"\t\t\t\tred : Red<br />\n"
|
157 |
+
"\t\t\t\tblue : Blue"
|
158 |
+
msgstr ""
|
159 |
+
"Saisir vos choix (un par ligne) br />\n"
|
160 |
+
"\t\t\t\t<br />\n"
|
161 |
+
"\t\t\t\tRouge<br />\n"
|
162 |
+
"\t\t\t\tBleu<br />\n"
|
163 |
+
"\t\t\t\t<br />\n"
|
164 |
+
"\t\t\t\tou<br />\n"
|
165 |
+
"\t\t\t\t<br />\n"
|
166 |
+
"\t\t\t\trouge : Rouge<br />\n"
|
167 |
+
"\t\t\t\tbleu : Bleu"
|
168 |
+
|
169 |
+
#: core/fields/checkbox.php:11
|
170 |
+
msgid "Checkbox"
|
171 |
+
msgstr "Case à cocher"
|
172 |
+
|
173 |
+
#: core/fields/text.php:11
|
174 |
+
msgid "Text"
|
175 |
+
msgstr "Texte"
|
176 |
+
|
177 |
+
#: core/fields/image.php:12
|
178 |
+
msgid "Image"
|
179 |
+
msgstr "Image"
|
180 |
+
|
181 |
+
#: core/fields/image.php:103
|
182 |
+
msgid "Select Image"
|
183 |
+
msgstr "Sélectionner une image"
|
184 |
+
|
185 |
+
#: core/fields/image.php:219
|
186 |
+
msgid "No image selected"
|
187 |
+
msgstr "Aucune image sélectionnée"
|
188 |
+
|
189 |
+
#: core/fields/image.php:219
|
190 |
+
msgid "Add Image"
|
191 |
+
msgstr "Ajouter une image"
|
192 |
+
|
193 |
+
#: core/fields/date_picker/date_picker.php:12
|
194 |
+
msgid "Date Picker"
|
195 |
+
msgstr "Date"
|
196 |
+
|
197 |
+
#: core/fields/date_picker/date_picker.php:32
|
198 |
+
msgid "Date format"
|
199 |
+
msgstr "Format de date"
|
200 |
+
|
201 |
+
#: core/fields/date_picker/date_picker.php:33
|
202 |
+
msgid "eg. dd/mm/yy. read more about"
|
203 |
+
msgstr "ex: dd/mm/yy. En savoir plus"
|
204 |
+
|
205 |
+
#: core/acf_post_type.php:4
|
206 |
+
#: acf.php:215
|
207 |
+
msgid "Advanced Custom Fields"
|
208 |
+
msgstr ""
|
209 |
+
|
210 |
+
#: core/acf_post_type.php:5
|
211 |
+
msgid "Advanced Custom Fields"
|
212 |
+
msgstr ""
|
213 |
+
|
214 |
+
#: core/acf_post_type.php:6
|
215 |
+
msgid "Add New"
|
216 |
+
msgstr "Ajouter"
|
217 |
+
|
218 |
+
#: core/acf_post_type.php:7
|
219 |
+
msgid "Add New Advanced Custom Field Group"
|
220 |
+
msgstr "Ajouter un nouveau groupe d'options"
|
221 |
+
|
222 |
+
#: core/acf_post_type.php:8
|
223 |
+
msgid "Edit Advanced Custom Field Group"
|
224 |
+
msgstr "Modifier le groupe d'options"
|
225 |
+
|
226 |
+
#: core/acf_post_type.php:9
|
227 |
+
msgid "New Advanced Custom Field Group"
|
228 |
+
msgstr "Nouveau groupe d'options"
|
229 |
+
|
230 |
+
#: core/acf_post_type.php:10
|
231 |
+
msgid "View Advanced Custom Field Group"
|
232 |
+
msgstr "Voir le groupe d'options"
|
233 |
+
|
234 |
+
#: core/acf_post_type.php:11
|
235 |
+
msgid "Search Advanced Custom Field Groups"
|
236 |
+
msgstr "Rechercher un groupe d'options"
|
237 |
+
|
238 |
+
#: core/acf_post_type.php:12
|
239 |
+
msgid "No Advanced Custom Field Groups found"
|
240 |
+
msgstr "Aucun groupe d'options trouvé"
|
241 |
+
|
242 |
+
#: core/acf_post_type.php:13
|
243 |
+
msgid "No Advanced Custom Field Groups found in Trash"
|
244 |
+
msgstr "Aucun groupe d'options dans la corbeille"
|
245 |
+
|
246 |
+
#: core/options_page.php:39
|
247 |
+
#: core/options_page.php:40
|
248 |
+
msgid "Options"
|
249 |
+
msgstr "Options"
|
250 |
+
|
251 |
+
#: core/options_page.php:226
|
252 |
+
msgid "Settings saved"
|
253 |
+
msgstr "Paramètres enregistrés"
|
254 |
+
|
255 |
+
#: core/options_page.php:237
|
256 |
+
msgid "Save"
|
257 |
+
msgstr "Enregistrer"
|
258 |
+
|
259 |
+
#: core/options_page.php:327
|
260 |
+
msgid "No Options"
|
261 |
+
msgstr "Aucune option"
|
262 |
+
|
263 |
+
#: core/options_page.php:331
|
264 |
+
msgid "Sorry, it seems there are no fields for this options page."
|
265 |
+
msgstr "Désolé, il n'y a aucun champ sur cette page d'options."
|
266 |
+
|
267 |
+
#: core/screen_extra.php:4
|
268 |
+
msgid "Unlock Special Fields."
|
269 |
+
msgstr "Débloquer les Champs Spéciaux."
|
270 |
+
|
271 |
+
#: core/screen_extra.php:5
|
272 |
+
msgid "Special Fields can be unlocked by purchasing an activation code. Each activation code can be used on multiple sites."
|
273 |
+
msgstr "Les Champs Spéciaux peuvent être désactivés en achetant un code d'activation."
|
274 |
+
|
275 |
+
#: core/screen_extra.php:5
|
276 |
+
msgid "Visit the Plugin Store"
|
277 |
+
msgstr "Visiter le Plugin Store"
|
278 |
+
|
279 |
+
#: core/screen_extra.php:10
|
280 |
+
msgid "Status"
|
281 |
+
msgstr "Status"
|
282 |
+
|
283 |
+
#: core/screen_extra.php:11
|
284 |
+
msgid "Activation Code"
|
285 |
+
msgstr "Code d'activation"
|
286 |
+
|
287 |
+
#: core/screen_extra.php:25
|
288 |
+
#: core/screen_extra.php:57
|
289 |
+
msgid "Active"
|
290 |
+
msgstr "Actif"
|
291 |
+
|
292 |
+
#: core/screen_extra.php:29
|
293 |
+
#: core/screen_extra.php:61
|
294 |
+
msgid "Inactive"
|
295 |
+
msgstr "Inactif"
|
296 |
+
|
297 |
+
#: core/screen_extra.php:55
|
298 |
+
msgid "Options Page"
|
299 |
+
msgstr "Page d'options"
|
300 |
+
|
301 |
+
#: core/screen_extra.php:84
|
302 |
+
msgid "Unlock Fields"
|
303 |
+
msgstr "Déverouller les champs"
|
304 |
+
|
305 |
+
#: core/screen_extra.php:102
|
306 |
+
msgid "Advanced Custom Fields v"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: core/screen_extra.php:105
|
310 |
+
msgid "Changelog"
|
311 |
+
msgstr "Changelog"
|
312 |
+
|
313 |
+
#: core/screen_extra.php:106
|
314 |
+
msgid "See what's new in"
|
315 |
+
msgstr "Voir les nouveautés de la version"
|
316 |
+
|
317 |
+
#: core/screen_extra.php:109
|
318 |
+
msgid "Resources"
|
319 |
+
msgstr "Ressources"
|
320 |
+
|
321 |
+
#: core/screen_extra.php:110
|
322 |
+
msgid "Watch tutorials, read documentation, learn the API code and find some tips & tricks for your next web project."
|
323 |
+
msgstr "Voir les tutoriels, lire la documentation, ..."
|
324 |
+
|
325 |
+
#: core/screen_extra.php:111
|
326 |
+
msgid "View the plugins website"
|
327 |
+
msgstr "Voir le site web du plugin"
|
328 |
+
|
329 |
+
#: core/screen_extra.php:114
|
330 |
+
msgid "Support"
|
331 |
+
msgstr "Support"
|
332 |
+
|
333 |
+
#: core/screen_extra.php:115
|
334 |
+
msgid "Join the growing community over at the support forum to share ideas, report bugs and keep up to date with ACF"
|
335 |
+
msgstr "Rejoignez la communauté grandissant sur le support pour partager vos idées, signaler un bug et suivre l'actualité d'ACF"
|
336 |
+
|
337 |
+
#: core/screen_extra.php:116
|
338 |
+
msgid "View the Support Forum"
|
339 |
+
msgstr "Voir le support"
|
340 |
+
|
341 |
+
#: core/screen_extra.php:119
|
342 |
+
msgid "Developed by"
|
343 |
+
msgstr "Développé par"
|
344 |
+
|
345 |
+
#: core/screen_extra.php:120
|
346 |
+
msgid "Vote for ACF"
|
347 |
+
msgstr "Votez pour ACF"
|
348 |
+
|
349 |
+
#: core/screen_extra.php:120
|
350 |
+
msgid "Twitter"
|
351 |
+
msgstr "Twitter"
|
352 |
+
|
353 |
+
#: core/screen_extra.php:120
|
354 |
+
msgid "Blog"
|
355 |
+
msgstr "Blog"
|
356 |
+
|
357 |
+
#: core/fields_meta_box.php:46
|
358 |
+
msgid "No fields. Click the \"+ Add Field button\" to create your first field."
|
359 |
+
msgstr "Aucun champ. Cliquer sur \"+ Ajouter un champ\" pour créer un premier champ."
|
360 |
+
|
361 |
+
#: core/fields_meta_box.php:62
|
362 |
+
msgid "Edit"
|
363 |
+
msgstr "Modifier"
|
364 |
+
|
365 |
+
#: core/fields_meta_box.php:63
|
366 |
+
msgid "Delete"
|
367 |
+
msgstr "Supprimer"
|
368 |
+
|
369 |
+
#: core/fields_meta_box.php:88
|
370 |
+
msgid "This is the name which will appear on the EDIT page"
|
371 |
+
msgstr "Ce même nom va apapraître sur la page d'édition"
|
372 |
+
|
373 |
+
#: core/fields_meta_box.php:107
|
374 |
+
msgid "Single word, no spaces. Underscores and dashes allowed"
|
375 |
+
msgstr "Un seul mot sans espace. Les '_' et '-' ne sont pas autorisés"
|
376 |
+
|
377 |
+
#: core/fields_meta_box.php:140
|
378 |
+
msgid "Field Instructions"
|
379 |
+
msgstr "Instructions pour ce champ"
|
380 |
+
|
381 |
+
#: core/fields_meta_box.php:141
|
382 |
+
msgid "Instructions for authors. Shown when submitting data"
|
383 |
+
msgstr ""
|
384 |
+
|
385 |
+
#: core/fields_meta_box.php:157
|
386 |
+
msgid "Is field searchable?"
|
387 |
+
msgstr "Ce champ peut être recherché ?"
|
388 |
+
|
389 |
+
#: core/fields_meta_box.php:165
|
390 |
+
msgid "Save this field's value as a standard WordPress Custom Field"
|
391 |
+
msgstr "Enregistrer la valeur de ce champ comme un Custom Field Wordpress standard"
|
392 |
+
|
393 |
+
#: core/fields_meta_box.php:200
|
394 |
+
msgid "+ Add Field"
|
395 |
+
msgstr "+ Ajouter"
|
396 |
+
|
397 |
+
#: core/options_meta_box.php:18
|
398 |
+
msgid "Show on page"
|
399 |
+
msgstr "Voir sur la page"
|
400 |
+
|
401 |
+
#: core/options_meta_box.php:19
|
402 |
+
msgid "Deselect items to hide them on the edit page"
|
403 |
+
msgstr "Le groupe d'options apparaîtra sur les pages d'édition ci-contre"
|
404 |
+
|
405 |
+
#: core/options_meta_box.php:20
|
406 |
+
msgid "If multiple ACF groups appear on an edit page, the first ACF group's options will be used. The first ACF group is the one with the lowest order number."
|
407 |
+
msgstr "Utilisez la numérotation pour modifier l'ordre d'affichager des groupes d'options."
|
408 |
+
|
409 |
+
#: core/options_meta_box.php:49
|
410 |
+
msgid "Field Group Layout"
|
411 |
+
msgstr "Disposition du groupe de champs"
|
412 |
+
|
413 |
+
#: core/options_meta_box.php:50
|
414 |
+
msgid "Display your field group with or without a box"
|
415 |
+
msgstr "Afficher le groupe de champs avec ou sans boite"
|
416 |
+
|
417 |
+
#: acf.php:211
|
418 |
+
msgid "Adv Custom Fields"
|
419 |
+
msgstr ""
|
420 |
+
|
421 |
+
#: acf.php:306
|
422 |
+
#: acf.php:324
|
423 |
+
msgid "Error: Field Type does not exist!"
|
424 |
+
msgstr "Erreur : Ce type de champ n'existe pas !"
|
425 |
+
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: Elliot Condon
|
|
3 |
Donate link: https://www.paypal.com/au/cgi-bin/webscr?cmd=_flow&SESSION=-B2MHZ-ioHQb-z1o22AMmhjSI08rxFqQdljyfqVa1R-4QrbQWPNcfL37jYi&dispatch=5885d80a13c0db1f8e263663d3faee8d5fa8ff279e37c3d9d4e38bdbee0ede69
|
4 |
Tags: custom, field, custom field, advanced, simple fields, magic fields, more fields, repeater, matrix, post, type, text, textarea, file, image, edit, admin
|
5 |
Requires at least: 3.0
|
6 |
-
Tested up to: 3.
|
7 |
-
Stable tag: 3.
|
8 |
|
9 |
Completely Customise your edit pages with an assortment of field types: Wysiwyg, Repeater, text, image, select, checkbox, page link, post object and more! Hide unwanted metaboxes and assign to any edit page!
|
10 |
|
@@ -94,6 +94,12 @@ http://support.plugins.elliotcondon.com/categories/advanced-custom-fields/
|
|
94 |
|
95 |
== Changelog ==
|
96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
= 3.0.2 =
|
98 |
* New Feature: Added Export tab to export a WP native .xml file
|
99 |
* New Option: Relationship / Post type - filter by taxonomy
|
3 |
Donate link: https://www.paypal.com/au/cgi-bin/webscr?cmd=_flow&SESSION=-B2MHZ-ioHQb-z1o22AMmhjSI08rxFqQdljyfqVa1R-4QrbQWPNcfL37jYi&dispatch=5885d80a13c0db1f8e263663d3faee8d5fa8ff279e37c3d9d4e38bdbee0ede69
|
4 |
Tags: custom, field, custom field, advanced, simple fields, magic fields, more fields, repeater, matrix, post, type, text, textarea, file, image, edit, admin
|
5 |
Requires at least: 3.0
|
6 |
+
Tested up to: 3.3
|
7 |
+
Stable tag: 3.3
|
8 |
|
9 |
Completely Customise your edit pages with an assortment of field types: Wysiwyg, Repeater, text, image, select, checkbox, page link, post object and more! Hide unwanted metaboxes and assign to any edit page!
|
10 |
|
94 |
|
95 |
== Changelog ==
|
96 |
|
97 |
+
= 3.0.3 =
|
98 |
+
* New translation: French (thanks to Netactions)
|
99 |
+
* Support: added support for new wp3.3 editor
|
100 |
+
* Bug fix: fixed WYSIWYG editor localised errors
|
101 |
+
* Bug fix: removed trailing commas for ie7
|
102 |
+
|
103 |
= 3.0.2 =
|
104 |
* New Feature: Added Export tab to export a WP native .xml file
|
105 |
* New Option: Relationship / Post type - filter by taxonomy
|