Version Description
- Date: 06.May.2018
- Enhancement: Changed text domain from abl_iaff_td to auto-image-attributes-from-filename-with-bulk-updater to make the plugin translation ready in translate.wordpress.org.
- Enhancement: Code improvements.
- Enhancement: Added an activation notice with link to the settings page for better on-boarding experience.
Download this release
Release Info
Developer | arunbasillal |
Plugin | Auto Image Attributes From Filename With Bulk Updater (Add Alt Text, Image Title For Image SEO) |
Version | 1.5 |
Comparing to | |
See all releases |
Code changes from version 1.4 to 1.5
- LICENSE +339 -0
- README.md +86 -0
- admin/iaff_image-attributes-from-filename-admin-setup.php +24 -24
- admin/iaff_image-attributes-from-filename-admin-ui-render.php +108 -108
- admin/iaff_image-attributes-from-filename-basic-setup.php +48 -11
- admin/iaff_image-attributes-from-filename-do.php +2 -2
- iaff_image-attributes-from-filename.php +61 -43
- readme.txt +45 -12
LICENSE
ADDED
@@ -0,0 +1,339 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
GNU GENERAL PUBLIC LICENSE
|
2 |
+
Version 2, June 1991
|
3 |
+
|
4 |
+
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
5 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
6 |
+
Everyone is permitted to copy and distribute verbatim copies
|
7 |
+
of this license document, but changing it is not allowed.
|
8 |
+
|
9 |
+
Preamble
|
10 |
+
|
11 |
+
The licenses for most software are designed to take away your
|
12 |
+
freedom to share and change it. By contrast, the GNU General Public
|
13 |
+
License is intended to guarantee your freedom to share and change free
|
14 |
+
software--to make sure the software is free for all its users. This
|
15 |
+
General Public License applies to most of the Free Software
|
16 |
+
Foundation's software and to any other program whose authors commit to
|
17 |
+
using it. (Some other Free Software Foundation software is covered by
|
18 |
+
the GNU Lesser General Public License instead.) You can apply it to
|
19 |
+
your programs, too.
|
20 |
+
|
21 |
+
When we speak of free software, we are referring to freedom, not
|
22 |
+
price. Our General Public Licenses are designed to make sure that you
|
23 |
+
have the freedom to distribute copies of free software (and charge for
|
24 |
+
this service if you wish), that you receive source code or can get it
|
25 |
+
if you want it, that you can change the software or use pieces of it
|
26 |
+
in new free programs; and that you know you can do these things.
|
27 |
+
|
28 |
+
To protect your rights, we need to make restrictions that forbid
|
29 |
+
anyone to deny you these rights or to ask you to surrender the rights.
|
30 |
+
These restrictions translate to certain responsibilities for you if you
|
31 |
+
distribute copies of the software, or if you modify it.
|
32 |
+
|
33 |
+
For example, if you distribute copies of such a program, whether
|
34 |
+
gratis or for a fee, you must give the recipients all the rights that
|
35 |
+
you have. You must make sure that they, too, receive or can get the
|
36 |
+
source code. And you must show them these terms so they know their
|
37 |
+
rights.
|
38 |
+
|
39 |
+
We protect your rights with two steps: (1) copyright the software, and
|
40 |
+
(2) offer you this license which gives you legal permission to copy,
|
41 |
+
distribute and/or modify the software.
|
42 |
+
|
43 |
+
Also, for each author's protection and ours, we want to make certain
|
44 |
+
that everyone understands that there is no warranty for this free
|
45 |
+
software. If the software is modified by someone else and passed on, we
|
46 |
+
want its recipients to know that what they have is not the original, so
|
47 |
+
that any problems introduced by others will not reflect on the original
|
48 |
+
authors' reputations.
|
49 |
+
|
50 |
+
Finally, any free program is threatened constantly by software
|
51 |
+
patents. We wish to avoid the danger that redistributors of a free
|
52 |
+
program will individually obtain patent licenses, in effect making the
|
53 |
+
program proprietary. To prevent this, we have made it clear that any
|
54 |
+
patent must be licensed for everyone's free use or not licensed at all.
|
55 |
+
|
56 |
+
The precise terms and conditions for copying, distribution and
|
57 |
+
modification follow.
|
58 |
+
|
59 |
+
GNU GENERAL PUBLIC LICENSE
|
60 |
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
61 |
+
|
62 |
+
0. This License applies to any program or other work which contains
|
63 |
+
a notice placed by the copyright holder saying it may be distributed
|
64 |
+
under the terms of this General Public License. The "Program", below,
|
65 |
+
refers to any such program or work, and a "work based on the Program"
|
66 |
+
means either the Program or any derivative work under copyright law:
|
67 |
+
that is to say, a work containing the Program or a portion of it,
|
68 |
+
either verbatim or with modifications and/or translated into another
|
69 |
+
language. (Hereinafter, translation is included without limitation in
|
70 |
+
the term "modification".) Each licensee is addressed as "you".
|
71 |
+
|
72 |
+
Activities other than copying, distribution and modification are not
|
73 |
+
covered by this License; they are outside its scope. The act of
|
74 |
+
running the Program is not restricted, and the output from the Program
|
75 |
+
is covered only if its contents constitute a work based on the
|
76 |
+
Program (independent of having been made by running the Program).
|
77 |
+
Whether that is true depends on what the Program does.
|
78 |
+
|
79 |
+
1. You may copy and distribute verbatim copies of the Program's
|
80 |
+
source code as you receive it, in any medium, provided that you
|
81 |
+
conspicuously and appropriately publish on each copy an appropriate
|
82 |
+
copyright notice and disclaimer of warranty; keep intact all the
|
83 |
+
notices that refer to this License and to the absence of any warranty;
|
84 |
+
and give any other recipients of the Program a copy of this License
|
85 |
+
along with the Program.
|
86 |
+
|
87 |
+
You may charge a fee for the physical act of transferring a copy, and
|
88 |
+
you may at your option offer warranty protection in exchange for a fee.
|
89 |
+
|
90 |
+
2. You may modify your copy or copies of the Program or any portion
|
91 |
+
of it, thus forming a work based on the Program, and copy and
|
92 |
+
distribute such modifications or work under the terms of Section 1
|
93 |
+
above, provided that you also meet all of these conditions:
|
94 |
+
|
95 |
+
a) You must cause the modified files to carry prominent notices
|
96 |
+
stating that you changed the files and the date of any change.
|
97 |
+
|
98 |
+
b) You must cause any work that you distribute or publish, that in
|
99 |
+
whole or in part contains or is derived from the Program or any
|
100 |
+
part thereof, to be licensed as a whole at no charge to all third
|
101 |
+
parties under the terms of this License.
|
102 |
+
|
103 |
+
c) If the modified program normally reads commands interactively
|
104 |
+
when run, you must cause it, when started running for such
|
105 |
+
interactive use in the most ordinary way, to print or display an
|
106 |
+
announcement including an appropriate copyright notice and a
|
107 |
+
notice that there is no warranty (or else, saying that you provide
|
108 |
+
a warranty) and that users may redistribute the program under
|
109 |
+
these conditions, and telling the user how to view a copy of this
|
110 |
+
License. (Exception: if the Program itself is interactive but
|
111 |
+
does not normally print such an announcement, your work based on
|
112 |
+
the Program is not required to print an announcement.)
|
113 |
+
|
114 |
+
These requirements apply to the modified work as a whole. If
|
115 |
+
identifiable sections of that work are not derived from the Program,
|
116 |
+
and can be reasonably considered independent and separate works in
|
117 |
+
themselves, then this License, and its terms, do not apply to those
|
118 |
+
sections when you distribute them as separate works. But when you
|
119 |
+
distribute the same sections as part of a whole which is a work based
|
120 |
+
on the Program, the distribution of the whole must be on the terms of
|
121 |
+
this License, whose permissions for other licensees extend to the
|
122 |
+
entire whole, and thus to each and every part regardless of who wrote it.
|
123 |
+
|
124 |
+
Thus, it is not the intent of this section to claim rights or contest
|
125 |
+
your rights to work written entirely by you; rather, the intent is to
|
126 |
+
exercise the right to control the distribution of derivative or
|
127 |
+
collective works based on the Program.
|
128 |
+
|
129 |
+
In addition, mere aggregation of another work not based on the Program
|
130 |
+
with the Program (or with a work based on the Program) on a volume of
|
131 |
+
a storage or distribution medium does not bring the other work under
|
132 |
+
the scope of this License.
|
133 |
+
|
134 |
+
3. You may copy and distribute the Program (or a work based on it,
|
135 |
+
under Section 2) in object code or executable form under the terms of
|
136 |
+
Sections 1 and 2 above provided that you also do one of the following:
|
137 |
+
|
138 |
+
a) Accompany it with the complete corresponding machine-readable
|
139 |
+
source code, which must be distributed under the terms of Sections
|
140 |
+
1 and 2 above on a medium customarily used for software interchange; or,
|
141 |
+
|
142 |
+
b) Accompany it with a written offer, valid for at least three
|
143 |
+
years, to give any third party, for a charge no more than your
|
144 |
+
cost of physically performing source distribution, a complete
|
145 |
+
machine-readable copy of the corresponding source code, to be
|
146 |
+
distributed under the terms of Sections 1 and 2 above on a medium
|
147 |
+
customarily used for software interchange; or,
|
148 |
+
|
149 |
+
c) Accompany it with the information you received as to the offer
|
150 |
+
to distribute corresponding source code. (This alternative is
|
151 |
+
allowed only for noncommercial distribution and only if you
|
152 |
+
received the program in object code or executable form with such
|
153 |
+
an offer, in accord with Subsection b above.)
|
154 |
+
|
155 |
+
The source code for a work means the preferred form of the work for
|
156 |
+
making modifications to it. For an executable work, complete source
|
157 |
+
code means all the source code for all modules it contains, plus any
|
158 |
+
associated interface definition files, plus the scripts used to
|
159 |
+
control compilation and installation of the executable. However, as a
|
160 |
+
special exception, the source code distributed need not include
|
161 |
+
anything that is normally distributed (in either source or binary
|
162 |
+
form) with the major components (compiler, kernel, and so on) of the
|
163 |
+
operating system on which the executable runs, unless that component
|
164 |
+
itself accompanies the executable.
|
165 |
+
|
166 |
+
If distribution of executable or object code is made by offering
|
167 |
+
access to copy from a designated place, then offering equivalent
|
168 |
+
access to copy the source code from the same place counts as
|
169 |
+
distribution of the source code, even though third parties are not
|
170 |
+
compelled to copy the source along with the object code.
|
171 |
+
|
172 |
+
4. You may not copy, modify, sublicense, or distribute the Program
|
173 |
+
except as expressly provided under this License. Any attempt
|
174 |
+
otherwise to copy, modify, sublicense or distribute the Program is
|
175 |
+
void, and will automatically terminate your rights under this License.
|
176 |
+
However, parties who have received copies, or rights, from you under
|
177 |
+
this License will not have their licenses terminated so long as such
|
178 |
+
parties remain in full compliance.
|
179 |
+
|
180 |
+
5. You are not required to accept this License, since you have not
|
181 |
+
signed it. However, nothing else grants you permission to modify or
|
182 |
+
distribute the Program or its derivative works. These actions are
|
183 |
+
prohibited by law if you do not accept this License. Therefore, by
|
184 |
+
modifying or distributing the Program (or any work based on the
|
185 |
+
Program), you indicate your acceptance of this License to do so, and
|
186 |
+
all its terms and conditions for copying, distributing or modifying
|
187 |
+
the Program or works based on it.
|
188 |
+
|
189 |
+
6. Each time you redistribute the Program (or any work based on the
|
190 |
+
Program), the recipient automatically receives a license from the
|
191 |
+
original licensor to copy, distribute or modify the Program subject to
|
192 |
+
these terms and conditions. You may not impose any further
|
193 |
+
restrictions on the recipients' exercise of the rights granted herein.
|
194 |
+
You are not responsible for enforcing compliance by third parties to
|
195 |
+
this License.
|
196 |
+
|
197 |
+
7. If, as a consequence of a court judgment or allegation of patent
|
198 |
+
infringement or for any other reason (not limited to patent issues),
|
199 |
+
conditions are imposed on you (whether by court order, agreement or
|
200 |
+
otherwise) that contradict the conditions of this License, they do not
|
201 |
+
excuse you from the conditions of this License. If you cannot
|
202 |
+
distribute so as to satisfy simultaneously your obligations under this
|
203 |
+
License and any other pertinent obligations, then as a consequence you
|
204 |
+
may not distribute the Program at all. For example, if a patent
|
205 |
+
license would not permit royalty-free redistribution of the Program by
|
206 |
+
all those who receive copies directly or indirectly through you, then
|
207 |
+
the only way you could satisfy both it and this License would be to
|
208 |
+
refrain entirely from distribution of the Program.
|
209 |
+
|
210 |
+
If any portion of this section is held invalid or unenforceable under
|
211 |
+
any particular circumstance, the balance of the section is intended to
|
212 |
+
apply and the section as a whole is intended to apply in other
|
213 |
+
circumstances.
|
214 |
+
|
215 |
+
It is not the purpose of this section to induce you to infringe any
|
216 |
+
patents or other property right claims or to contest validity of any
|
217 |
+
such claims; this section has the sole purpose of protecting the
|
218 |
+
integrity of the free software distribution system, which is
|
219 |
+
implemented by public license practices. Many people have made
|
220 |
+
generous contributions to the wide range of software distributed
|
221 |
+
through that system in reliance on consistent application of that
|
222 |
+
system; it is up to the author/donor to decide if he or she is willing
|
223 |
+
to distribute software through any other system and a licensee cannot
|
224 |
+
impose that choice.
|
225 |
+
|
226 |
+
This section is intended to make thoroughly clear what is believed to
|
227 |
+
be a consequence of the rest of this License.
|
228 |
+
|
229 |
+
8. If the distribution and/or use of the Program is restricted in
|
230 |
+
certain countries either by patents or by copyrighted interfaces, the
|
231 |
+
original copyright holder who places the Program under this License
|
232 |
+
may add an explicit geographical distribution limitation excluding
|
233 |
+
those countries, so that distribution is permitted only in or among
|
234 |
+
countries not thus excluded. In such case, this License incorporates
|
235 |
+
the limitation as if written in the body of this License.
|
236 |
+
|
237 |
+
9. The Free Software Foundation may publish revised and/or new versions
|
238 |
+
of the General Public License from time to time. Such new versions will
|
239 |
+
be similar in spirit to the present version, but may differ in detail to
|
240 |
+
address new problems or concerns.
|
241 |
+
|
242 |
+
Each version is given a distinguishing version number. If the Program
|
243 |
+
specifies a version number of this License which applies to it and "any
|
244 |
+
later version", you have the option of following the terms and conditions
|
245 |
+
either of that version or of any later version published by the Free
|
246 |
+
Software Foundation. If the Program does not specify a version number of
|
247 |
+
this License, you may choose any version ever published by the Free Software
|
248 |
+
Foundation.
|
249 |
+
|
250 |
+
10. If you wish to incorporate parts of the Program into other free
|
251 |
+
programs whose distribution conditions are different, write to the author
|
252 |
+
to ask for permission. For software which is copyrighted by the Free
|
253 |
+
Software Foundation, write to the Free Software Foundation; we sometimes
|
254 |
+
make exceptions for this. Our decision will be guided by the two goals
|
255 |
+
of preserving the free status of all derivatives of our free software and
|
256 |
+
of promoting the sharing and reuse of software generally.
|
257 |
+
|
258 |
+
NO WARRANTY
|
259 |
+
|
260 |
+
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
261 |
+
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
262 |
+
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
263 |
+
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
264 |
+
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
265 |
+
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
266 |
+
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
267 |
+
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
268 |
+
REPAIR OR CORRECTION.
|
269 |
+
|
270 |
+
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
271 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
272 |
+
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
273 |
+
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
274 |
+
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
275 |
+
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
276 |
+
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
277 |
+
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
278 |
+
POSSIBILITY OF SUCH DAMAGES.
|
279 |
+
|
280 |
+
END OF TERMS AND CONDITIONS
|
281 |
+
|
282 |
+
How to Apply These Terms to Your New Programs
|
283 |
+
|
284 |
+
If you develop a new program, and you want it to be of the greatest
|
285 |
+
possible use to the public, the best way to achieve this is to make it
|
286 |
+
free software which everyone can redistribute and change under these terms.
|
287 |
+
|
288 |
+
To do so, attach the following notices to the program. It is safest
|
289 |
+
to attach them to the start of each source file to most effectively
|
290 |
+
convey the exclusion of warranty; and each file should have at least
|
291 |
+
the "copyright" line and a pointer to where the full notice is found.
|
292 |
+
|
293 |
+
<one line to give the program's name and a brief idea of what it does.>
|
294 |
+
Copyright (C) <year> <name of author>
|
295 |
+
|
296 |
+
This program is free software; you can redistribute it and/or modify
|
297 |
+
it under the terms of the GNU General Public License as published by
|
298 |
+
the Free Software Foundation; either version 2 of the License, or
|
299 |
+
(at your option) any later version.
|
300 |
+
|
301 |
+
This program is distributed in the hope that it will be useful,
|
302 |
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
303 |
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
304 |
+
GNU General Public License for more details.
|
305 |
+
|
306 |
+
You should have received a copy of the GNU General Public License along
|
307 |
+
with this program; if not, write to the Free Software Foundation, Inc.,
|
308 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
309 |
+
|
310 |
+
Also add information on how to contact you by electronic and paper mail.
|
311 |
+
|
312 |
+
If the program is interactive, make it output a short notice like this
|
313 |
+
when it starts in an interactive mode:
|
314 |
+
|
315 |
+
Gnomovision version 69, Copyright (C) year name of author
|
316 |
+
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
317 |
+
This is free software, and you are welcome to redistribute it
|
318 |
+
under certain conditions; type `show c' for details.
|
319 |
+
|
320 |
+
The hypothetical commands `show w' and `show c' should show the appropriate
|
321 |
+
parts of the General Public License. Of course, the commands you use may
|
322 |
+
be called something other than `show w' and `show c'; they could even be
|
323 |
+
mouse-clicks or menu items--whatever suits your program.
|
324 |
+
|
325 |
+
You should also get your employer (if you work as a programmer) or your
|
326 |
+
school, if any, to sign a "copyright disclaimer" for the program, if
|
327 |
+
necessary. Here is a sample; alter the names:
|
328 |
+
|
329 |
+
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
330 |
+
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
331 |
+
|
332 |
+
<signature of Ty Coon>, 1 April 1989
|
333 |
+
Ty Coon, President of Vice
|
334 |
+
|
335 |
+
This General Public License does not permit incorporating your program into
|
336 |
+
proprietary programs. If your program is a subroutine library, you may
|
337 |
+
consider it more useful to permit linking proprietary applications with the
|
338 |
+
library. If this is what you want to do, use the GNU Lesser General
|
339 |
+
Public License instead of this License.
|
README.md
ADDED
@@ -0,0 +1,86 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Auto Image Attributes From Filename With Bulk Updater
|
2 |
+
|
3 |
+
Automatically Add Image Title, Caption, Description And Alt Text From Filename. Includes a bulk updater to update existing images in the Media Library
|
4 |
+
|
5 |
+
The plugin can update image attributes for both new images and existing images in the media library.
|
6 |
+
|
7 |
+
With this plugin you can:
|
8 |
+
|
9 |
+
* Set the image filename as the image Title.
|
10 |
+
* Set the image filename as the image Caption.
|
11 |
+
* Set the image filename as the image Description.
|
12 |
+
* Set the image filename as the image Alt Text. This was a default feature in WordPress before 4.7. The plugin restores this essential feature which is great for SEO.
|
13 |
+
* Insert Image Title into post HTML. WordPress stopped adding Image Titles to images since WordPress 3.5. The plugin restores it.
|
14 |
+
* Remove hyphens from the image filename.
|
15 |
+
* Remove underscores from the image filename.
|
16 |
+
* Remove full stops from filename.
|
17 |
+
* Remove commas from filename.
|
18 |
+
* Remove all numbers from filename.
|
19 |
+
* Choose to turn off any of the above mentioned features.
|
20 |
+
|
21 |
+
With the bulk updater you can:
|
22 |
+
|
23 |
+
* Set the image filename as image Title, Caption, Description and Alt Text after removing hyphens and underscores from the filename.
|
24 |
+
* Update any number of images in your Media Library in one click.
|
25 |
+
|
26 |
+
If your image filename is *My_image-name.jpg*, your Image Title, Caption, Description And Alt Text will be *My image name*.
|
27 |
+
|
28 |
+
The plugin settings and bulk updater are in WordPress Admin > Settings > Image Attributes. Here you can choose which attributes to update for NEW uploads.
|
29 |
+
|
30 |
+
Please remember to take a database backup before running the bulk updater. The bulk updater updates ALL attributes for existing images in the Media Library and ignores the settings set for NEW uploads.
|
31 |
+
|
32 |
+
**Image Attributes Pro**
|
33 |
+
|
34 |
+
A pro add-on is now available for the plugin. Check out [Image Attributes Pro](https://imageattributespro.com/?utm_source=github&utm_medium=readme.md).
|
35 |
+
|
36 |
+
What the pro add-on you get these additional features:
|
37 |
+
|
38 |
+
* Remove apostrophe ( ' ) from filename
|
39 |
+
* Remove tilde ( ~ ) from filename
|
40 |
+
* Remove plus ( + ) from filename
|
41 |
+
* Remove pound ( # ) from filename
|
42 |
+
* Remove ampersand ( & ) from filename
|
43 |
+
* Remove round brackets ( ( ) ) from filename
|
44 |
+
* Remove square brackets ( [ ] ) from filename
|
45 |
+
* Remove curly brackets ( { } ) from filename
|
46 |
+
* Filter words or characters from filename
|
47 |
+
* Filter filename with regex
|
48 |
+
* convert image attributes to lowercase
|
49 |
+
* CONVERT IMAGE ATTRIBUTES TO UPPERCASE
|
50 |
+
* Use title casing for image attributes. First Letter Of Each Word Will Be Capitalized.
|
51 |
+
* Use sentence casing for image attributes. First letter of a sentence will be capitalized.
|
52 |
+
* Clean the actual image filename after upload.
|
53 |
+
* Use post title as title text. If image is not attached to a post, image filename will be used instead.
|
54 |
+
* Use post title as alt text. If image is not attached to a post, image filename will be used instead.
|
55 |
+
* Use post title as caption. If image is not attached to a post, image filename will be used instead.
|
56 |
+
* Use post title as description. If image is not attached to a post, image filename will be used instead.
|
57 |
+
* Choose to turn off any of the above mentioned features.
|
58 |
+
|
59 |
+
With the pro bulk updater you can:
|
60 |
+
|
61 |
+
* Update image title and alt text for images inserted into posts and custom post types.
|
62 |
+
* Fine tune all settings. Choose what to update.
|
63 |
+
* Update image titles / alt text in media library only. Image titles / alt text in existing posts will be left unchanged.
|
64 |
+
* Update image titles / alt text in media library and existing posts.
|
65 |
+
* Update image titles / alt text in existing posts only if no title / alt text is set. All image titles/ alt text in media library will be updated.
|
66 |
+
* Choose to turn off any of the above mentioned features.
|
67 |
+
|
68 |
+
For screenshots, FAQ and further details, please see the [product website](https://imageattributespro.com/?utm_source=github&utm_medium=readme.md).
|
69 |
+
|
70 |
+
## Installation
|
71 |
+
|
72 |
+
To install this plugin:
|
73 |
+
|
74 |
+
1. Install the plugin through the WordPress admin interface, or upload the plugin folder to /wp-content/plugins/ using ftp.
|
75 |
+
2. Activate the plugin through the 'Plugins' screen in WordPress.
|
76 |
+
3. Go to WordPress Admin > Settings > Image Attributes.
|
77 |
+
|
78 |
+
## Frequently Asked Questions
|
79 |
+
|
80 |
+
### Will this plugin update existing images in the media library?
|
81 |
+
|
82 |
+
Yes, the plugin will update image Title, Caption, Description And Alt Text from the image filename for both existing images in the media library and new uploads.
|
83 |
+
|
84 |
+
### I need more features. Can I hire you?
|
85 |
+
|
86 |
+
Please checkout the [Image Attributes Pro add-on](https://imageattributespro.com/?utm_source=github&utm_medium=readme.md) to see if it suits your requirement.
|
admin/iaff_image-attributes-from-filename-admin-setup.php
CHANGED
@@ -52,7 +52,7 @@ function iaff_register_settings() {
|
|
52 |
// Register Basic Settings Section
|
53 |
add_settings_section(
|
54 |
'iaff_basic_settings_section_id', // ID
|
55 |
-
__('Basic Settings','
|
56 |
'__return_false', // Callback Function
|
57 |
'iaff_basic_settings_section' // Page slug
|
58 |
);
|
@@ -60,7 +60,7 @@ function iaff_register_settings() {
|
|
60 |
// Global Switch
|
61 |
add_settings_field(
|
62 |
'iaff_global_switch', // ID
|
63 |
-
__('Global Switch', '
|
64 |
'iaff_global_switch_callback', // Callback function
|
65 |
'iaff_basic_settings_section', // Page slug
|
66 |
'iaff_basic_settings_section_id' // Settings Section ID
|
@@ -69,7 +69,7 @@ function iaff_register_settings() {
|
|
69 |
// General Settings
|
70 |
add_settings_field(
|
71 |
'iaff_general_settings', // ID
|
72 |
-
__('General Settings', '
|
73 |
'iaff_general_settings_callback', // Callback function
|
74 |
'iaff_basic_settings_section', // Page slug
|
75 |
'iaff_basic_settings_section_id' // Settings Section ID
|
@@ -78,7 +78,7 @@ function iaff_register_settings() {
|
|
78 |
// Filter Settings
|
79 |
add_settings_field(
|
80 |
'iaff_filter_settings', // ID
|
81 |
-
__('Filter Settings', '
|
82 |
'iaff_filter_settings_callback', // Callback function
|
83 |
'iaff_basic_settings_section', // Page slug
|
84 |
'iaff_basic_settings_section_id' // Settings Section ID
|
@@ -87,7 +87,7 @@ function iaff_register_settings() {
|
|
87 |
// Basic SEO Settings
|
88 |
add_settings_field(
|
89 |
'iaff_basic_seo_settings', // ID
|
90 |
-
__('Basic SEO Settings', '
|
91 |
'iaff_basic_seo_settings_callback', // Callback function
|
92 |
'iaff_basic_settings_section', // Page slug
|
93 |
'iaff_basic_settings_section_id' // Settings Section ID
|
@@ -98,7 +98,7 @@ function iaff_register_settings() {
|
|
98 |
|
99 |
add_settings_field(
|
100 |
'iaff_preview_pro_settings', // ID
|
101 |
-
__('Preview Pro Features', '
|
102 |
'iaff_preview_pro_settings_callback', // Callback function
|
103 |
'iaff_basic_settings_section', // Page slug
|
104 |
'iaff_basic_settings_section_id' // Settings Section ID
|
@@ -108,7 +108,7 @@ function iaff_register_settings() {
|
|
108 |
// Register Advanced Settings Section
|
109 |
add_settings_section(
|
110 |
'iaff_advanced_settings_section_id', // ID
|
111 |
-
__('Advanced Settings','
|
112 |
'__return_false', // Callback Function
|
113 |
'iaff_advanced_settings_section' // Page slug
|
114 |
);
|
@@ -116,7 +116,7 @@ function iaff_register_settings() {
|
|
116 |
// Advanced Filter
|
117 |
add_settings_field(
|
118 |
'iaff_advanced_filter_settings', // ID
|
119 |
-
__('Advanced Filter', '
|
120 |
'iaff_advanced_filter_callback', // Callback function
|
121 |
'iaff_advanced_settings_section', // Page slug
|
122 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
@@ -125,7 +125,7 @@ function iaff_register_settings() {
|
|
125 |
// Custom Filter
|
126 |
add_settings_field(
|
127 |
'iaff_custom_filter_settings', // ID
|
128 |
-
__('Custom Filter', '
|
129 |
'iaff_custom_filter_callback', // Callback function
|
130 |
'iaff_advanced_settings_section', // Page slug
|
131 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
@@ -134,7 +134,7 @@ function iaff_register_settings() {
|
|
134 |
// Capitalization Settings
|
135 |
add_settings_field(
|
136 |
'iaff_capitalization_settings', // ID
|
137 |
-
__('Capitalization Settings', '
|
138 |
'iaff_capitalization_callback', // Callback function
|
139 |
'iaff_advanced_settings_section', // Page slug
|
140 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
@@ -143,7 +143,7 @@ function iaff_register_settings() {
|
|
143 |
// Image Title Settings
|
144 |
add_settings_field(
|
145 |
'iaff_image_title_settings', // ID
|
146 |
-
__('Image Title Settings', '
|
147 |
'iaff_advanced_image_title_callback', // Callback function
|
148 |
'iaff_advanced_settings_section', // Page slug
|
149 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
@@ -152,7 +152,7 @@ function iaff_register_settings() {
|
|
152 |
// Image Alt Text Settings
|
153 |
add_settings_field(
|
154 |
'iaff_image_alt_text_settings', // ID
|
155 |
-
__('Image Alt Text Settings', '
|
156 |
'iaff_advanced_image_alt_text_callback', // Callback function
|
157 |
'iaff_advanced_settings_section', // Page slug
|
158 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
@@ -161,7 +161,7 @@ function iaff_register_settings() {
|
|
161 |
// Image Caption Settings
|
162 |
add_settings_field(
|
163 |
'iaff_image_caption_settings', // ID
|
164 |
-
__('Image Caption Settings', '
|
165 |
'iaff_advanced_image_caption_callback', // Callback function
|
166 |
'iaff_advanced_settings_section', // Page slug
|
167 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
@@ -170,7 +170,7 @@ function iaff_register_settings() {
|
|
170 |
// Image Description Settings
|
171 |
add_settings_field(
|
172 |
'iaff_image_description_settings', // ID
|
173 |
-
__('Image Description Settings', '
|
174 |
'iaff_advanced_image_description_callback', // Callback function
|
175 |
'iaff_advanced_settings_section', // Page slug
|
176 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
@@ -179,7 +179,7 @@ function iaff_register_settings() {
|
|
179 |
// Miscellaneous Settings
|
180 |
add_settings_field(
|
181 |
'iaff_miscellaneous_settings', // ID
|
182 |
-
__('Miscellaneous Settings', '
|
183 |
'iaff_miscellaneous_callback', // Callback function
|
184 |
'iaff_advanced_settings_section', // Page slug
|
185 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
@@ -188,7 +188,7 @@ function iaff_register_settings() {
|
|
188 |
// Register Bulk Updater Settings Section
|
189 |
add_settings_section(
|
190 |
'iaff_bu_settings_section_id', // ID
|
191 |
-
__('Bulk Updater Settings','
|
192 |
'__return_false', // Callback Function
|
193 |
'iaff_bu_settings_section' // Page slug
|
194 |
);
|
@@ -196,7 +196,7 @@ function iaff_register_settings() {
|
|
196 |
// General Settings
|
197 |
add_settings_field(
|
198 |
'iaff_bu_general_settings', // ID
|
199 |
-
__('General Settings', '
|
200 |
'iaff_bu_general_settings_callback', // Callback function
|
201 |
'iaff_bu_settings_section', // Page slug
|
202 |
'iaff_bu_settings_section_id' // Settings Section ID
|
@@ -205,7 +205,7 @@ function iaff_register_settings() {
|
|
205 |
// Filter Settings
|
206 |
add_settings_field(
|
207 |
'iaff_bu_filter_settings', // ID
|
208 |
-
__('Filter Settings', '
|
209 |
'iaff_bu_filter_settings_callback', // Callback function
|
210 |
'iaff_bu_settings_section', // Page slug
|
211 |
'iaff_bu_settings_section_id' // Settings Section ID
|
@@ -214,7 +214,7 @@ function iaff_register_settings() {
|
|
214 |
// Custom Filter
|
215 |
add_settings_field(
|
216 |
'iaff_bu_custom_filter_settings', // ID
|
217 |
-
__('Custom Filter', '
|
218 |
'iaff_bu_custom_filter_callback', // Callback function
|
219 |
'iaff_bu_settings_section', // Page slug
|
220 |
'iaff_bu_settings_section_id' // Settings Section ID
|
@@ -223,7 +223,7 @@ function iaff_register_settings() {
|
|
223 |
// Capitalization Settings
|
224 |
add_settings_field(
|
225 |
'iaff_bu_capitalization_settings', // ID
|
226 |
-
__('Capitalization Settings', '
|
227 |
'iaff_bu_capitalization_settings_callback', // Callback function
|
228 |
'iaff_bu_settings_section', // Page slug
|
229 |
'iaff_bu_settings_section_id' // Settings Section ID
|
@@ -232,7 +232,7 @@ function iaff_register_settings() {
|
|
232 |
// Image Title Settings
|
233 |
add_settings_field(
|
234 |
'iaff_bu_image_title_settings', // ID
|
235 |
-
__('Image Title Settings', '
|
236 |
'iaff_bu_image_title_settings_callback', // Callback function
|
237 |
'iaff_bu_settings_section', // Page slug
|
238 |
'iaff_bu_settings_section_id' // Settings Section ID
|
@@ -241,7 +241,7 @@ function iaff_register_settings() {
|
|
241 |
// Image Alt Text Settings
|
242 |
add_settings_field(
|
243 |
'iaff_bu_alt_text_settings', // ID
|
244 |
-
__('Image Alt Text Settings', '
|
245 |
'iaff_bu_alt_text_settings_callback', // Callback function
|
246 |
'iaff_bu_settings_section', // Page slug
|
247 |
'iaff_bu_settings_section_id' // Settings Section ID
|
@@ -250,7 +250,7 @@ function iaff_register_settings() {
|
|
250 |
// Image Caption Settings
|
251 |
add_settings_field(
|
252 |
'iaff_bu_image_caption_settings', // ID
|
253 |
-
__('Image Caption Settings', '
|
254 |
'iaff_bu_image_caption_settings_callback', // Callback function
|
255 |
'iaff_bu_settings_section', // Page slug
|
256 |
'iaff_bu_settings_section_id' // Settings Section ID
|
@@ -259,7 +259,7 @@ function iaff_register_settings() {
|
|
259 |
// Image Description Settings
|
260 |
add_settings_field(
|
261 |
'iaff_bu_image_description_settings', // ID
|
262 |
-
__('Image Description Settings', '
|
263 |
'iaff_bu_image_description_settings_callback', // Callback function
|
264 |
'iaff_bu_settings_section', // Page slug
|
265 |
'iaff_bu_settings_section_id' // Settings Section ID
|
52 |
// Register Basic Settings Section
|
53 |
add_settings_section(
|
54 |
'iaff_basic_settings_section_id', // ID
|
55 |
+
__('Basic Settings','auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
56 |
'__return_false', // Callback Function
|
57 |
'iaff_basic_settings_section' // Page slug
|
58 |
);
|
60 |
// Global Switch
|
61 |
add_settings_field(
|
62 |
'iaff_global_switch', // ID
|
63 |
+
__('Global Switch', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
64 |
'iaff_global_switch_callback', // Callback function
|
65 |
'iaff_basic_settings_section', // Page slug
|
66 |
'iaff_basic_settings_section_id' // Settings Section ID
|
69 |
// General Settings
|
70 |
add_settings_field(
|
71 |
'iaff_general_settings', // ID
|
72 |
+
__('General Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
73 |
'iaff_general_settings_callback', // Callback function
|
74 |
'iaff_basic_settings_section', // Page slug
|
75 |
'iaff_basic_settings_section_id' // Settings Section ID
|
78 |
// Filter Settings
|
79 |
add_settings_field(
|
80 |
'iaff_filter_settings', // ID
|
81 |
+
__('Filter Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
82 |
'iaff_filter_settings_callback', // Callback function
|
83 |
'iaff_basic_settings_section', // Page slug
|
84 |
'iaff_basic_settings_section_id' // Settings Section ID
|
87 |
// Basic SEO Settings
|
88 |
add_settings_field(
|
89 |
'iaff_basic_seo_settings', // ID
|
90 |
+
__('Basic SEO Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
91 |
'iaff_basic_seo_settings_callback', // Callback function
|
92 |
'iaff_basic_settings_section', // Page slug
|
93 |
'iaff_basic_settings_section_id' // Settings Section ID
|
98 |
|
99 |
add_settings_field(
|
100 |
'iaff_preview_pro_settings', // ID
|
101 |
+
__('Preview Pro Features', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
102 |
'iaff_preview_pro_settings_callback', // Callback function
|
103 |
'iaff_basic_settings_section', // Page slug
|
104 |
'iaff_basic_settings_section_id' // Settings Section ID
|
108 |
// Register Advanced Settings Section
|
109 |
add_settings_section(
|
110 |
'iaff_advanced_settings_section_id', // ID
|
111 |
+
__('Advanced Settings','auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
112 |
'__return_false', // Callback Function
|
113 |
'iaff_advanced_settings_section' // Page slug
|
114 |
);
|
116 |
// Advanced Filter
|
117 |
add_settings_field(
|
118 |
'iaff_advanced_filter_settings', // ID
|
119 |
+
__('Advanced Filter', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
120 |
'iaff_advanced_filter_callback', // Callback function
|
121 |
'iaff_advanced_settings_section', // Page slug
|
122 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
125 |
// Custom Filter
|
126 |
add_settings_field(
|
127 |
'iaff_custom_filter_settings', // ID
|
128 |
+
__('Custom Filter', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
129 |
'iaff_custom_filter_callback', // Callback function
|
130 |
'iaff_advanced_settings_section', // Page slug
|
131 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
134 |
// Capitalization Settings
|
135 |
add_settings_field(
|
136 |
'iaff_capitalization_settings', // ID
|
137 |
+
__('Capitalization Settings', 'auto-image-attributes-from-filename-with-bulk-updater'),// Title
|
138 |
'iaff_capitalization_callback', // Callback function
|
139 |
'iaff_advanced_settings_section', // Page slug
|
140 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
143 |
// Image Title Settings
|
144 |
add_settings_field(
|
145 |
'iaff_image_title_settings', // ID
|
146 |
+
__('Image Title Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
147 |
'iaff_advanced_image_title_callback', // Callback function
|
148 |
'iaff_advanced_settings_section', // Page slug
|
149 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
152 |
// Image Alt Text Settings
|
153 |
add_settings_field(
|
154 |
'iaff_image_alt_text_settings', // ID
|
155 |
+
__('Image Alt Text Settings', 'auto-image-attributes-from-filename-with-bulk-updater'),// Title
|
156 |
'iaff_advanced_image_alt_text_callback', // Callback function
|
157 |
'iaff_advanced_settings_section', // Page slug
|
158 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
161 |
// Image Caption Settings
|
162 |
add_settings_field(
|
163 |
'iaff_image_caption_settings', // ID
|
164 |
+
__('Image Caption Settings', 'auto-image-attributes-from-filename-with-bulk-updater'),// Title
|
165 |
'iaff_advanced_image_caption_callback', // Callback function
|
166 |
'iaff_advanced_settings_section', // Page slug
|
167 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
170 |
// Image Description Settings
|
171 |
add_settings_field(
|
172 |
'iaff_image_description_settings', // ID
|
173 |
+
__('Image Description Settings', 'auto-image-attributes-from-filename-with-bulk-updater'),// Title
|
174 |
'iaff_advanced_image_description_callback', // Callback function
|
175 |
'iaff_advanced_settings_section', // Page slug
|
176 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
179 |
// Miscellaneous Settings
|
180 |
add_settings_field(
|
181 |
'iaff_miscellaneous_settings', // ID
|
182 |
+
__('Miscellaneous Settings', 'auto-image-attributes-from-filename-with-bulk-updater'),// Title
|
183 |
'iaff_miscellaneous_callback', // Callback function
|
184 |
'iaff_advanced_settings_section', // Page slug
|
185 |
'iaff_advanced_settings_section_id' // Settings Section ID
|
188 |
// Register Bulk Updater Settings Section
|
189 |
add_settings_section(
|
190 |
'iaff_bu_settings_section_id', // ID
|
191 |
+
__('Bulk Updater Settings','auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
192 |
'__return_false', // Callback Function
|
193 |
'iaff_bu_settings_section' // Page slug
|
194 |
);
|
196 |
// General Settings
|
197 |
add_settings_field(
|
198 |
'iaff_bu_general_settings', // ID
|
199 |
+
__('General Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
200 |
'iaff_bu_general_settings_callback', // Callback function
|
201 |
'iaff_bu_settings_section', // Page slug
|
202 |
'iaff_bu_settings_section_id' // Settings Section ID
|
205 |
// Filter Settings
|
206 |
add_settings_field(
|
207 |
'iaff_bu_filter_settings', // ID
|
208 |
+
__('Filter Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
209 |
'iaff_bu_filter_settings_callback', // Callback function
|
210 |
'iaff_bu_settings_section', // Page slug
|
211 |
'iaff_bu_settings_section_id' // Settings Section ID
|
214 |
// Custom Filter
|
215 |
add_settings_field(
|
216 |
'iaff_bu_custom_filter_settings', // ID
|
217 |
+
__('Custom Filter', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
218 |
'iaff_bu_custom_filter_callback', // Callback function
|
219 |
'iaff_bu_settings_section', // Page slug
|
220 |
'iaff_bu_settings_section_id' // Settings Section ID
|
223 |
// Capitalization Settings
|
224 |
add_settings_field(
|
225 |
'iaff_bu_capitalization_settings', // ID
|
226 |
+
__('Capitalization Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
227 |
'iaff_bu_capitalization_settings_callback', // Callback function
|
228 |
'iaff_bu_settings_section', // Page slug
|
229 |
'iaff_bu_settings_section_id' // Settings Section ID
|
232 |
// Image Title Settings
|
233 |
add_settings_field(
|
234 |
'iaff_bu_image_title_settings', // ID
|
235 |
+
__('Image Title Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
236 |
'iaff_bu_image_title_settings_callback', // Callback function
|
237 |
'iaff_bu_settings_section', // Page slug
|
238 |
'iaff_bu_settings_section_id' // Settings Section ID
|
241 |
// Image Alt Text Settings
|
242 |
add_settings_field(
|
243 |
'iaff_bu_alt_text_settings', // ID
|
244 |
+
__('Image Alt Text Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
245 |
'iaff_bu_alt_text_settings_callback', // Callback function
|
246 |
'iaff_bu_settings_section', // Page slug
|
247 |
'iaff_bu_settings_section_id' // Settings Section ID
|
250 |
// Image Caption Settings
|
251 |
add_settings_field(
|
252 |
'iaff_bu_image_caption_settings', // ID
|
253 |
+
__('Image Caption Settings', 'auto-image-attributes-from-filename-with-bulk-updater'), // Title
|
254 |
'iaff_bu_image_caption_settings_callback', // Callback function
|
255 |
'iaff_bu_settings_section', // Page slug
|
256 |
'iaff_bu_settings_section_id' // Settings Section ID
|
259 |
// Image Description Settings
|
260 |
add_settings_field(
|
261 |
'iaff_bu_image_description_settings', // ID
|
262 |
+
__('Image Description Settings', 'auto-image-attributes-from-filename-with-bulk-updater'),// Title
|
263 |
'iaff_bu_image_description_settings_callback', // Callback function
|
264 |
'iaff_bu_settings_section', // Page slug
|
265 |
'iaff_bu_settings_section_id' // Settings Section ID
|
admin/iaff_image-attributes-from-filename-admin-ui-render.php
CHANGED
@@ -45,7 +45,7 @@ function iaff_global_switch_callback() {
|
|
45 |
|
46 |
<label for="iaff_settings[global_switch]">
|
47 |
<input type="checkbox" name="iaff_settings[global_switch]" id="iaff_settings[global_switch]" value="1" <?php if ( isset($settings['global_switch']) ) checked( '1', $settings['global_switch'] ); ?>>
|
48 |
-
<span><?php _e('Globally enable or disable Auto Image Attributes. Should be checked for the plugin to work.', '
|
49 |
</label><br>
|
50 |
|
51 |
</fieldset>
|
@@ -71,25 +71,25 @@ function iaff_general_settings_callback() {
|
|
71 |
<!-- Auto Add Image Title -->
|
72 |
<label for="iaff_settings[image_title]">
|
73 |
<input type="checkbox" name="iaff_settings[image_title]" id="iaff_settings[image_title]" value="1" <?php if ( isset($settings['image_title']) ) checked( '1', $settings['image_title'] ); ?>>
|
74 |
-
<span><?php _e('Set Image Title for new uploads', '
|
75 |
</label><br>
|
76 |
|
77 |
<!-- Auto Add Image Caption -->
|
78 |
<label for="iaff_settings[image_caption]">
|
79 |
<input type="checkbox" name="iaff_settings[image_caption]" id="iaff_settings[image_caption]" value="1" <?php if ( isset($settings['image_caption']) ) checked( '1', $settings['image_caption'] ); ?>>
|
80 |
-
<span><?php _e('Set Image Caption for new uploads', '
|
81 |
</label><br>
|
82 |
|
83 |
<!-- Auto Add Image Description -->
|
84 |
<label for="iaff_settings[image_description]">
|
85 |
<input type="checkbox" name="iaff_settings[image_description]" id="iaff_settings[image_description]" value="1" <?php if ( isset($settings['image_description']) ) checked( '1', $settings['image_description'] ); ?>>
|
86 |
-
<span><?php _e('Set Image Description for new uploads', '
|
87 |
</label><br>
|
88 |
|
89 |
<!-- Auto Add Alt Text -->
|
90 |
<label for="iaff_settings[image_alttext]">
|
91 |
<input type="checkbox" name="iaff_settings[image_alttext]" id="iaff_settings[image_alttext]" value="1" <?php if ( isset($settings['image_alttext']) ) checked( '1', $settings['image_alttext'] ); ?>>
|
92 |
-
<span><?php _e('Set Image Alt Text for new uploads', '
|
93 |
</label><br>
|
94 |
|
95 |
</fieldset>
|
@@ -114,31 +114,31 @@ function iaff_filter_settings_callback() {
|
|
114 |
<!-- Filter Hyphens -->
|
115 |
<label for="iaff_settings[hyphens]">
|
116 |
<input type="checkbox" name="iaff_settings[hyphens]" id="iaff_settings[hyphens]" value="1" <?php if ( isset($settings['hyphens']) ) checked( '1', $settings['hyphens'] ); ?>>
|
117 |
-
<span><?php _e('Remove hyphens ( - ) from filename', '
|
118 |
</label><br>
|
119 |
|
120 |
<!-- Filter Underscore -->
|
121 |
<label for="iaff_settings[under_score]">
|
122 |
<input type="checkbox" name="iaff_settings[under_score]" id="iaff_settings[under_score]" value="1" <?php if ( isset($settings['under_score']) ) checked( '1', $settings['under_score'] ); ?>>
|
123 |
-
<span><?php _e('Remove underscores ( _ ) from filename', '
|
124 |
</label><br>
|
125 |
|
126 |
<!-- Filter Full stops -->
|
127 |
<label for="iaff_settings[full_stop]">
|
128 |
<input type="checkbox" name="iaff_settings[full_stop]" id="iaff_settings[full_stop]" value="1" <?php if ( isset($settings['full_stop']) ) checked( '1', $settings['full_stop'] ); ?>>
|
129 |
-
<span><?php _e('Remove full stops ( . ) from filename', '
|
130 |
</label><br>
|
131 |
|
132 |
<!-- Filter Commas -->
|
133 |
<label for="iaff_settings[commas]">
|
134 |
<input type="checkbox" name="iaff_settings[commas]" id="iaff_settings[commas]" value="1" <?php if ( isset($settings['commas']) ) checked( '1', $settings['commas'] ); ?>>
|
135 |
-
<span><?php _e('Remove commas ( , ) from filename', '
|
136 |
</label><br>
|
137 |
|
138 |
<!-- Filter Numbers -->
|
139 |
<label for="iaff_settings[all_numbers]">
|
140 |
<input type="checkbox" name="iaff_settings[all_numbers]" id="iaff_settings[all_numbers]" value="1" <?php if ( isset($settings['all_numbers']) ) checked( '1', $settings['all_numbers'] ); ?>>
|
141 |
-
<span><?php _e('Remove all numbers ( 0-9 ) from filename', '
|
142 |
</label><br>
|
143 |
|
144 |
</fieldset>
|
@@ -162,7 +162,7 @@ function iaff_basic_seo_settings_callback() {
|
|
162 |
<!-- Insert Image Title Into Post HTML -->
|
163 |
<label for="iaff_settings[image_title_to_html]">
|
164 |
<input type="checkbox" name="iaff_settings[image_title_to_html]" id="iaff_settings[image_title_to_html]" value="1" <?php if ( isset($settings['image_title_to_html']) ) checked( '1', $settings['image_title_to_html'] ); ?>>
|
165 |
-
<span><?php _e('Insert Image Title into post HTML. This will add title="Image Title" in the <img> tag.', '
|
166 |
</label><br>
|
167 |
|
168 |
</fieldset>
|
@@ -186,7 +186,7 @@ function iaff_preview_pro_settings_callback() {
|
|
186 |
<!-- Preview Pro Settings -->
|
187 |
<label for="iaff_settings[preview_pro]">
|
188 |
<input type="checkbox" name="iaff_settings[preview_pro]" id="iaff_settings[preview_pro]" value="1" <?php if ( isset($settings['preview_pro']) ) checked( '1', $settings['preview_pro'] ); ?>>
|
189 |
-
<span><?php printf( __( 'Check to see a preview of all the options that ship with <a href="%s" target="_blank">Image Attributes Pro</a>.', '
|
190 |
'https://imageattributespro.com/?utm_source=iaff-basic&utm_medium=preview-pro-setting'
|
191 |
); ?></span>
|
192 |
</label><br>
|
@@ -212,49 +212,49 @@ function iaff_advanced_filter_callback() {
|
|
212 |
<!-- Filter Apostrophe -->
|
213 |
<label for="iaff_settings[apostrophe]">
|
214 |
<input type="checkbox" name="iaff_settings[apostrophe]" id="iaff_settings[apostrophe]" value="1" <?php if ( isset($settings['apostrophe']) ) checked( '1', $settings['apostrophe'] ); ?>>
|
215 |
-
<span><?php _e('Remove apostrophe ( \' ) from filename', '
|
216 |
</label><br>
|
217 |
|
218 |
<!-- Filter Tilde -->
|
219 |
<label for="iaff_settings[tilde]">
|
220 |
<input type="checkbox" name="iaff_settings[tilde]" id="iaff_settings[tilde]" value="1" <?php if ( isset($settings['tilde']) ) checked( '1', $settings['tilde'] ); ?>>
|
221 |
-
<span><?php _e('Remove tilde ( ~ ) from filename', '
|
222 |
</label><br>
|
223 |
|
224 |
<!-- Filter Plus -->
|
225 |
<label for="iaff_settings[plus]">
|
226 |
<input type="checkbox" name="iaff_settings[plus]" id="iaff_settings[plus]" value="1" <?php if ( isset($settings['plus']) ) checked( '1', $settings['plus'] ); ?>>
|
227 |
-
<span><?php _e('Remove plus ( + ) from filename', '
|
228 |
</label><br>
|
229 |
|
230 |
<!-- Filter Pound -->
|
231 |
<label for="iaff_settings[pound]">
|
232 |
<input type="checkbox" name="iaff_settings[pound]" id="iaff_settings[pound]" value="1" <?php if ( isset($settings['pound']) ) checked( '1', $settings['pound'] ); ?>>
|
233 |
-
<span><?php _e('Remove pound ( # ) from filename', '
|
234 |
</label><br>
|
235 |
|
236 |
<!-- Filter Ampersand -->
|
237 |
<label for="iaff_settings[ampersand]">
|
238 |
<input type="checkbox" name="iaff_settings[ampersand]" id="iaff_settings[ampersand]" value="1" <?php if ( isset($settings['ampersand']) ) checked( '1', $settings['ampersand'] ); ?>>
|
239 |
-
<span><?php _e('Remove ampersand ( & ) from filename', '
|
240 |
</label><br>
|
241 |
|
242 |
<!-- Filter Round Brackets -->
|
243 |
<label for="iaff_settings[round_brackets]">
|
244 |
<input type="checkbox" name="iaff_settings[round_brackets]" id="iaff_settings[round_brackets]" value="1" <?php if ( isset($settings['round_brackets']) ) checked( '1', $settings['round_brackets'] ); ?>>
|
245 |
-
<span><?php _e('Remove round brackets ( ( ) ) from filename', '
|
246 |
</label><br>
|
247 |
|
248 |
<!-- Filter Square Brackets -->
|
249 |
<label for="iaff_settings[square_brackets]">
|
250 |
<input type="checkbox" name="iaff_settings[square_brackets]" id="iaff_settings[square_brackets]" value="1" <?php if ( isset($settings['square_brackets']) ) checked( '1', $settings['square_brackets'] ); ?>>
|
251 |
-
<span><?php _e('Remove square brackets ( [ ] ) from filename', '
|
252 |
</label><br>
|
253 |
|
254 |
<!-- Filter Curly Brackets -->
|
255 |
<label for="iaff_settings[curly_brackets]">
|
256 |
<input type="checkbox" name="iaff_settings[curly_brackets]" id="iaff_settings[curly_brackets]" value="1" <?php if ( isset($settings['curly_brackets']) ) checked( '1', $settings['curly_brackets'] ); ?>>
|
257 |
-
<span><?php _e('Remove curly brackets ( { } ) from filename', '
|
258 |
</label><br>
|
259 |
|
260 |
</fieldset>
|
@@ -276,10 +276,10 @@ function iaff_custom_filter_callback() {
|
|
276 |
<fieldset>
|
277 |
|
278 |
<p>Enter words or characters to filter separated by commas. Filter is case sensitive.</p>
|
279 |
-
<input type="text" name="iaff_settings[custom_filter]" placeholder="DCIM, img" class="all-options" value="<?php if ( isset( $settings['custom_filter'] ) && ( ! empty($settings['custom_filter']) ) )
|
280 |
|
281 |
<p>Filter with regular expression</p>
|
282 |
-
<input type="text" name="iaff_settings[regex_filter]" placeholder="/regex/" class="all-options" value="<?php if ( isset( $settings['regex_filter'] ) && ( ! empty($settings['regex_filter']) ) )
|
283 |
|
284 |
</fieldset>
|
285 |
|
@@ -302,31 +302,31 @@ function iaff_capitalization_callback() {
|
|
302 |
<!-- No capitalization -->
|
303 |
<label>
|
304 |
<input type="radio" name="iaff_settings[capitalization]" value="0" <?php if ( isset($settings['capitalization']) ) checked( '0', $settings['capitalization'] ); ?>/>
|
305 |
-
<span><?php esc_attr_e( 'Leave unchanged', '
|
306 |
</label><br>
|
307 |
|
308 |
<!-- Lowercase -->
|
309 |
<label>
|
310 |
<input type="radio" name="iaff_settings[capitalization]" value="1" <?php if ( isset($settings['capitalization']) ) checked( '1', $settings['capitalization'] ); ?>/>
|
311 |
-
<span><?php esc_attr_e( 'convert to lowercase', '
|
312 |
</label><br>
|
313 |
|
314 |
<!-- Uppercase -->
|
315 |
<label>
|
316 |
<input type="radio" name="iaff_settings[capitalization]" value="2" <?php if ( isset($settings['capitalization']) ) checked( '2', $settings['capitalization'] ); ?>/>
|
317 |
-
<span><?php esc_attr_e( 'CONVERT TO UPPERCASE', '
|
318 |
</label><br>
|
319 |
|
320 |
<!-- Title Casing -->
|
321 |
<label>
|
322 |
<input type="radio" name="iaff_settings[capitalization]" value="3" <?php if ( isset($settings['capitalization']) ) checked( '3', $settings['capitalization'] ); ?>/>
|
323 |
-
<span><?php esc_attr_e( 'Use title casing. First Letter Of Each Word Will Be Capitalized.', '
|
324 |
</label><br>
|
325 |
|
326 |
<!-- Sentence Casing -->
|
327 |
<label>
|
328 |
<input type="radio" name="iaff_settings[capitalization]" value="4" <?php if ( isset($settings['capitalization']) ) checked( '4', $settings['capitalization'] ); ?>/>
|
329 |
-
<span><?php esc_attr_e( 'Use sentence casing. First letter of a sentence will be capitalized.', '
|
330 |
</label><br>
|
331 |
|
332 |
</fieldset>
|
@@ -349,12 +349,12 @@ function iaff_advanced_image_title_callback() {
|
|
349 |
|
350 |
<label>
|
351 |
<input type="radio" name="iaff_settings[title_source]" value="0" <?php if ( isset($settings['title_source']) ) checked( '0', $settings['title_source'] ); ?>/>
|
352 |
-
<span><?php esc_attr_e( 'Use image filename as title text', '
|
353 |
</label><br>
|
354 |
|
355 |
<label>
|
356 |
<input type="radio" name="iaff_settings[title_source]" value="1" <?php if ( isset($settings['title_source']) ) checked( '1', $settings['title_source'] ); ?>/>
|
357 |
-
<span><?php esc_attr_e( 'Use post title as title text. If image is not attached to a post, image filename will be used instead.', '
|
358 |
</label><br>
|
359 |
|
360 |
</fieldset>
|
@@ -377,12 +377,12 @@ function iaff_advanced_image_alt_text_callback() {
|
|
377 |
|
378 |
<label>
|
379 |
<input type="radio" name="iaff_settings[alt_text_source]" value="0" <?php if ( isset($settings['alt_text_source']) ) checked( '0', $settings['alt_text_source'] ); ?>/>
|
380 |
-
<span><?php esc_attr_e( 'Use image filename as alt text', '
|
381 |
</label><br>
|
382 |
|
383 |
<label>
|
384 |
<input type="radio" name="iaff_settings[alt_text_source]" value="1" <?php if ( isset($settings['alt_text_source']) ) checked( '1', $settings['alt_text_source'] ); ?>/>
|
385 |
-
<span><?php esc_attr_e( 'Use post title as alt text. If image is not attached to a post, image filename will be used instead.', '
|
386 |
</label><br>
|
387 |
|
388 |
</fieldset>
|
@@ -405,12 +405,12 @@ function iaff_advanced_image_caption_callback() {
|
|
405 |
|
406 |
<label>
|
407 |
<input type="radio" name="iaff_settings[caption_source]" value="0" <?php if ( isset($settings['caption_source']) ) checked( '0', $settings['caption_source'] ); ?>/>
|
408 |
-
<span><?php esc_attr_e( 'Use image filename as caption', '
|
409 |
</label><br>
|
410 |
|
411 |
<label>
|
412 |
<input type="radio" name="iaff_settings[caption_source]" value="1" <?php if ( isset($settings['caption_source']) ) checked( '1', $settings['caption_source'] ); ?>/>
|
413 |
-
<span><?php esc_attr_e( 'Use post title as caption. If image is not attached to a post, image filename will be used instead.', '
|
414 |
</label><br>
|
415 |
|
416 |
</fieldset>
|
@@ -433,12 +433,12 @@ function iaff_advanced_image_description_callback() {
|
|
433 |
|
434 |
<label>
|
435 |
<input type="radio" name="iaff_settings[description_source]" value="0" <?php if ( isset($settings['description_source']) ) checked( '0', $settings['description_source'] ); ?>/>
|
436 |
-
<span><?php esc_attr_e( 'Use image filename as description', '
|
437 |
</label><br>
|
438 |
|
439 |
<label>
|
440 |
<input type="radio" name="iaff_settings[description_source]" value="1" <?php if ( isset($settings['description_source']) ) checked( '1', $settings['description_source'] ); ?>/>
|
441 |
-
<span><?php esc_attr_e( 'Use post title as description. If image is not attached to a post, image filename will be used instead.', '
|
442 |
</label><br>
|
443 |
|
444 |
</fieldset>
|
@@ -462,7 +462,7 @@ function iaff_miscellaneous_callback() {
|
|
462 |
<!-- Clean filename -->
|
463 |
<label for="iaff_settings[clean_filename]">
|
464 |
<input type="checkbox" name="iaff_settings[clean_filename]" id="iaff_settings[clean_filename]" value="1" <?php if ( isset($settings['clean_filename']) ) checked( '1', $settings['clean_filename'] ); ?>>
|
465 |
-
<span><?php _e('Clean actual image filename after upload.', '
|
466 |
</label><br>
|
467 |
|
468 |
</fieldset>
|
@@ -486,25 +486,25 @@ function iaff_bu_general_settings_callback() {
|
|
486 |
<!-- Auto Add Image Title -->
|
487 |
<label for="iaff_settings[bu_image_title]">
|
488 |
<input type="checkbox" name="iaff_settings[bu_image_title]" id="iaff_settings[bu_image_title]" value="1" <?php if ( isset($settings['bu_image_title']) ) checked( '1', $settings['bu_image_title'] ); ?>>
|
489 |
-
<span><?php _e('Update Image Title', '
|
490 |
</label><br>
|
491 |
|
492 |
<!-- Auto Add Image Caption -->
|
493 |
<label for="iaff_settings[bu_image_caption]">
|
494 |
<input type="checkbox" name="iaff_settings[bu_image_caption]" id="iaff_settings[bu_image_caption]" value="1" <?php if ( isset($settings['bu_image_caption']) ) checked( '1', $settings['bu_image_caption'] ); ?>>
|
495 |
-
<span><?php _e('Update Image Caption', '
|
496 |
</label><br>
|
497 |
|
498 |
<!-- Auto Add Image Description -->
|
499 |
<label for="iaff_settings[bu_image_description]">
|
500 |
<input type="checkbox" name="iaff_settings[bu_image_description]" id="iaff_settings[bu_image_description]" value="1" <?php if ( isset($settings['bu_image_description']) ) checked( '1', $settings['bu_image_description'] ); ?>>
|
501 |
-
<span><?php _e('Update Image Description', '
|
502 |
</label><br>
|
503 |
|
504 |
<!-- Auto Add Alt Text -->
|
505 |
<label for="iaff_settings[bu_image_alttext]">
|
506 |
<input type="checkbox" name="iaff_settings[bu_image_alttext]" id="iaff_settings[bu_image_alttext]" value="1" <?php if ( isset($settings['bu_image_alttext']) ) checked( '1', $settings['bu_image_alttext'] ); ?>>
|
507 |
-
<span><?php _e('Update Image Alt Text', '
|
508 |
</label><br>
|
509 |
|
510 |
</fieldset>
|
@@ -528,79 +528,79 @@ function iaff_bu_filter_settings_callback() {
|
|
528 |
<!-- Filter Hyphens -->
|
529 |
<label for="iaff_settings[bu_hyphens]">
|
530 |
<input type="checkbox" name="iaff_settings[bu_hyphens]" id="iaff_settings[bu_hyphens]" value="1" <?php if ( isset($settings['bu_hyphens']) ) checked( '1', $settings['bu_hyphens'] ); ?>>
|
531 |
-
<span><?php _e('Remove hyphens ( - ) from filename', '
|
532 |
</label><br>
|
533 |
|
534 |
<!-- Filter Underscore -->
|
535 |
<label for="iaff_settings[bu_under_score]">
|
536 |
<input type="checkbox" name="iaff_settings[bu_under_score]" id="iaff_settings[bu_under_score]" value="1" <?php if ( isset($settings['bu_under_score']) ) checked( '1', $settings['bu_under_score'] ); ?>>
|
537 |
-
<span><?php _e('Remove underscores ( _ ) from filename', '
|
538 |
</label><br>
|
539 |
|
540 |
<!-- Filter Full stops -->
|
541 |
<label for="iaff_settings[bu_full_stop]">
|
542 |
<input type="checkbox" name="iaff_settings[bu_full_stop]" id="iaff_settings[bu_full_stop]" value="1" <?php if ( isset($settings['bu_full_stop']) ) checked( '1', $settings['bu_full_stop'] ); ?>>
|
543 |
-
<span><?php _e('Remove full stops ( . ) from filename', '
|
544 |
</label><br>
|
545 |
|
546 |
<!-- Filter Commas -->
|
547 |
<label for="iaff_settings[bu_commas]">
|
548 |
<input type="checkbox" name="iaff_settings[bu_commas]" id="iaff_settings[bu_commas]" value="1" <?php if ( isset($settings['bu_commas']) ) checked( '1', $settings['bu_commas'] ); ?>>
|
549 |
-
<span><?php _e('Remove commas ( , ) from filename', '
|
550 |
</label><br>
|
551 |
|
552 |
<!-- Filter Numbers -->
|
553 |
<label for="iaff_settings[bu_all_numbers]">
|
554 |
<input type="checkbox" name="iaff_settings[bu_all_numbers]" id="iaff_settings[bu_all_numbers]" value="1" <?php if ( isset($settings['bu_all_numbers']) ) checked( '1', $settings['bu_all_numbers'] ); ?>>
|
555 |
-
<span><?php _e('Remove all numbers ( 0-9 ) from filename', '
|
556 |
</label><br>
|
557 |
|
558 |
<!-- Filter Apostrophe -->
|
559 |
<label for="iaff_settings[bu_apostrophe]">
|
560 |
<input type="checkbox" name="iaff_settings[bu_apostrophe]" id="iaff_settings[bu_apostrophe]" value="1" <?php if ( isset($settings['bu_apostrophe']) ) checked( '1', $settings['bu_apostrophe'] ); ?>>
|
561 |
-
<span><?php _e('Remove apostrophe ( \' ) from filename', '
|
562 |
</label><br>
|
563 |
|
564 |
<!-- Filter Tilde -->
|
565 |
<label for="iaff_settings[bu_tilde]">
|
566 |
<input type="checkbox" name="iaff_settings[bu_tilde]" id="iaff_settings[bu_tilde]" value="1" <?php if ( isset($settings['bu_tilde']) ) checked( '1', $settings['bu_tilde'] ); ?>>
|
567 |
-
<span><?php _e('Remove tilde ( ~ ) from filename', '
|
568 |
</label><br>
|
569 |
|
570 |
<!-- Filter Plus -->
|
571 |
<label for="iaff_settings[bu_plus]">
|
572 |
<input type="checkbox" name="iaff_settings[bu_plus]" id="iaff_settings[bu_plus]" value="1" <?php if ( isset($settings['bu_plus']) ) checked( '1', $settings['bu_plus'] ); ?>>
|
573 |
-
<span><?php _e('Remove plus ( + ) from filename', '
|
574 |
</label><br>
|
575 |
|
576 |
<!-- Filter Pound -->
|
577 |
<label for="iaff_settings[bu_pound]">
|
578 |
<input type="checkbox" name="iaff_settings[bu_pound]" id="iaff_settings[bu_pound]" value="1" <?php if ( isset($settings['bu_pound']) ) checked( '1', $settings['bu_pound'] ); ?>>
|
579 |
-
<span><?php _e('Remove pound ( # ) from filename', '
|
580 |
</label><br>
|
581 |
|
582 |
<!-- Filter Ampersand -->
|
583 |
<label for="iaff_settings[bu_ampersand]">
|
584 |
<input type="checkbox" name="iaff_settings[bu_ampersand]" id="iaff_settings[bu_ampersand]" value="1" <?php if ( isset($settings['bu_ampersand']) ) checked( '1', $settings['bu_ampersand'] ); ?>>
|
585 |
-
<span><?php _e('Remove ampersand ( & ) from filename', '
|
586 |
</label><br>
|
587 |
|
588 |
<!-- Filter Round Brackets -->
|
589 |
<label for="iaff_settings[bu_round_brackets]">
|
590 |
<input type="checkbox" name="iaff_settings[bu_round_brackets]" id="iaff_settings[bu_round_brackets]" value="1" <?php if ( isset($settings['bu_round_brackets']) ) checked( '1', $settings['bu_round_brackets'] ); ?>>
|
591 |
-
<span><?php _e('Remove round brackets ( ( ) ) from filename', '
|
592 |
</label><br>
|
593 |
|
594 |
<!-- Filter Square Brackets -->
|
595 |
<label for="iaff_settings[bu_square_brackets]">
|
596 |
<input type="checkbox" name="iaff_settings[bu_square_brackets]" id="iaff_settings[bu_square_brackets]" value="1" <?php if ( isset($settings['bu_square_brackets']) ) checked( '1', $settings['bu_square_brackets'] ); ?>>
|
597 |
-
<span><?php _e('Remove square brackets ( [ ] ) from filename', '
|
598 |
</label><br>
|
599 |
|
600 |
<!-- Filter Curly Brackets -->
|
601 |
<label for="iaff_settings[bu_curly_brackets]">
|
602 |
<input type="checkbox" name="iaff_settings[bu_curly_brackets]" id="iaff_settings[bu_curly_brackets]" value="1" <?php if ( isset($settings['bu_curly_brackets']) ) checked( '1', $settings['bu_curly_brackets'] ); ?>>
|
603 |
-
<span><?php _e('Remove curly brackets ( { } ) from filename', '
|
604 |
</label><br>
|
605 |
|
606 |
</fieldset>
|
@@ -622,10 +622,10 @@ function iaff_bu_custom_filter_callback() {
|
|
622 |
<fieldset>
|
623 |
|
624 |
<p>Enter words or characters to filter separated by commas. Filter is case sensitive.</p>
|
625 |
-
<input type="text" name="iaff_settings[bu_custom_filter]" placeholder="DCIM, img" class="all-options" value="<?php if ( isset( $settings['bu_custom_filter'] ) && ( ! empty($settings['bu_custom_filter']) ) )
|
626 |
|
627 |
<p>Filter with regular expression</p>
|
628 |
-
<input type="text" name="iaff_settings[bu_regex_filter]" placeholder="/regex/" class="all-options" value="<?php if ( isset( $settings['bu_regex_filter'] ) && ( ! empty($settings['bu_regex_filter']) ) )
|
629 |
|
630 |
</fieldset>
|
631 |
|
@@ -648,31 +648,31 @@ function iaff_bu_capitalization_settings_callback() {
|
|
648 |
<!-- No bu_capitalization -->
|
649 |
<label>
|
650 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="0" <?php if ( isset($settings['bu_capitalization']) ) checked( '0', $settings['bu_capitalization'] ); ?>/>
|
651 |
-
<span><?php esc_attr_e( 'Leave unchanged', '
|
652 |
</label><br>
|
653 |
|
654 |
<!-- Lowercase -->
|
655 |
<label>
|
656 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="1" <?php if ( isset($settings['bu_capitalization']) ) checked( '1', $settings['bu_capitalization'] ); ?>/>
|
657 |
-
<span><?php esc_attr_e( 'convert to lowercase', '
|
658 |
</label><br>
|
659 |
|
660 |
<!-- Uppercase -->
|
661 |
<label>
|
662 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="2" <?php if ( isset($settings['bu_capitalization']) ) checked( '2', $settings['bu_capitalization'] ); ?>/>
|
663 |
-
<span><?php esc_attr_e( 'CONVERT TO UPPERCASE', '
|
664 |
</label><br>
|
665 |
|
666 |
<!-- Title Casing -->
|
667 |
<label>
|
668 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="3" <?php if ( isset($settings['bu_capitalization']) ) checked( '3', $settings['bu_capitalization'] ); ?>/>
|
669 |
-
<span><?php esc_attr_e( 'Use title casing. First Letter Of Each Word Will Be Capitalized.', '
|
670 |
</label><br>
|
671 |
|
672 |
<!-- Sentence Casing -->
|
673 |
<label>
|
674 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="4" <?php if ( isset($settings['bu_capitalization']) ) checked( '4', $settings['bu_capitalization'] ); ?>/>
|
675 |
-
<span><?php esc_attr_e( 'Use sentence casing. First letter of a sentence will be capitalized.', '
|
676 |
</label><br>
|
677 |
|
678 |
</fieldset>
|
@@ -695,29 +695,29 @@ function iaff_bu_image_title_settings_callback() {
|
|
695 |
|
696 |
<label>
|
697 |
<input type="radio" name="iaff_settings[bu_title_source]" value="0" <?php if ( isset($settings['bu_title_source']) ) checked( '0', $settings['bu_title_source'] ); ?>/>
|
698 |
-
<span><?php esc_attr_e( 'Use image filename as title text', '
|
699 |
</label><br>
|
700 |
|
701 |
<label>
|
702 |
<input type="radio" name="iaff_settings[bu_title_source]" value="1" <?php if ( isset($settings['bu_title_source']) ) checked( '1', $settings['bu_title_source'] ); ?>/>
|
703 |
-
<span><?php esc_attr_e( 'Use post title as title text. If image is not attached to a post, image filename will be used instead.', '
|
704 |
</label><br>
|
705 |
|
706 |
<h4>Bulk Updater Behaviour</h4>
|
707 |
|
708 |
<label>
|
709 |
<input type="radio" name="iaff_settings[bu_titles_in_post]" value="0" <?php if ( isset($settings['bu_titles_in_post']) ) checked( '0', $settings['bu_titles_in_post'] ); ?>/>
|
710 |
-
<span><?php esc_attr_e( 'Update image titles in media library only. Image titles in existing posts will be left unchanged.', '
|
711 |
</label><br>
|
712 |
|
713 |
<label>
|
714 |
<input type="radio" name="iaff_settings[bu_titles_in_post]" value="1" <?php if ( isset($settings['bu_titles_in_post']) ) checked( '1', $settings['bu_titles_in_post'] ); ?>/>
|
715 |
-
<span><?php esc_attr_e( 'Update image titles in media library and existing posts.', '
|
716 |
</label><br>
|
717 |
|
718 |
<label>
|
719 |
<input type="radio" name="iaff_settings[bu_titles_in_post]" value="2" <?php if ( isset($settings['bu_titles_in_post']) ) checked( '2', $settings['bu_titles_in_post'] ); ?>/>
|
720 |
-
<span><?php esc_attr_e( 'Update image titles in existing posts only if no title is set. All image titles in media library will be updated.', '
|
721 |
</label><br>
|
722 |
|
723 |
</fieldset>
|
@@ -740,29 +740,29 @@ function iaff_bu_alt_text_settings_callback() {
|
|
740 |
|
741 |
<label>
|
742 |
<input type="radio" name="iaff_settings[bu_alt_text_source]" value="0" <?php if ( isset($settings['bu_alt_text_source']) ) checked( '0', $settings['bu_alt_text_source'] ); ?>/>
|
743 |
-
<span><?php esc_attr_e( 'Use filename as alt text.', '
|
744 |
</label><br>
|
745 |
|
746 |
<label>
|
747 |
<input type="radio" name="iaff_settings[bu_alt_text_source]" value="1" <?php if ( isset($settings['bu_alt_text_source']) ) checked( '1', $settings['bu_alt_text_source'] ); ?>/>
|
748 |
-
<span><?php esc_attr_e( 'Use post title as alt text. If image is not attached to a post, image filename will be used instead.', '
|
749 |
</label><br>
|
750 |
|
751 |
<h4>Bulk Updater Behaviour</h4>
|
752 |
|
753 |
<label>
|
754 |
<input type="radio" name="iaff_settings[bu_alt_text_in_post]" value="0" <?php if ( isset($settings['bu_alt_text_in_post']) ) checked( '0', $settings['bu_alt_text_in_post'] ); ?>/>
|
755 |
-
<span><?php esc_attr_e( 'Update alt text in media library only. Alt text in existing posts will be left unchanged.', '
|
756 |
</label><br>
|
757 |
|
758 |
<label>
|
759 |
<input type="radio" name="iaff_settings[bu_alt_text_in_post]" value="1" <?php if ( isset($settings['bu_alt_text_in_post']) ) checked( '1', $settings['bu_alt_text_in_post'] ); ?>/>
|
760 |
-
<span><?php esc_attr_e( 'Update alt text in media library and existing posts.', '
|
761 |
</label><br>
|
762 |
|
763 |
<label>
|
764 |
<input type="radio" name="iaff_settings[bu_alt_text_in_post]" value="2" <?php if ( isset($settings['bu_alt_text_in_post']) ) checked( '2', $settings['bu_alt_text_in_post'] ); ?>/>
|
765 |
-
<span><?php esc_attr_e( 'Update alt text in existing posts only if no alt text is set. All alt text in media library will be updated.', '
|
766 |
</label><br>
|
767 |
|
768 |
</fieldset>
|
@@ -785,12 +785,12 @@ function iaff_bu_image_caption_settings_callback() {
|
|
785 |
|
786 |
<label>
|
787 |
<input type="radio" name="iaff_settings[bu_caption_source]" value="0" <?php if ( isset($settings['bu_caption_source']) ) checked( '0', $settings['bu_caption_source'] ); ?>/>
|
788 |
-
<span><?php esc_attr_e( 'Use image filename as caption', '
|
789 |
</label><br>
|
790 |
|
791 |
<label>
|
792 |
<input type="radio" name="iaff_settings[bu_caption_source]" value="1" <?php if ( isset($settings['bu_caption_source']) ) checked( '1', $settings['bu_caption_source'] ); ?>/>
|
793 |
-
<span><?php esc_attr_e( 'Use post title as caption. If image is not attached to a post, image filename will be used instead.', '
|
794 |
</label><br>
|
795 |
|
796 |
</fieldset>
|
@@ -813,12 +813,12 @@ function iaff_bu_image_description_settings_callback() {
|
|
813 |
|
814 |
<label>
|
815 |
<input type="radio" name="iaff_settings[bu_description_source]" value="0" <?php if ( isset($settings['bu_description_source']) ) checked( '0', $settings['bu_description_source'] ); ?>/>
|
816 |
-
<span><?php esc_attr_e( 'Use image filename as description', '
|
817 |
</label><br>
|
818 |
|
819 |
<label>
|
820 |
<input type="radio" name="iaff_settings[bu_description_source]" value="1" <?php if ( isset($settings['bu_description_source']) ) checked( '1', $settings['bu_description_source'] ); ?>/>
|
821 |
-
<span><?php esc_attr_e( 'Use post title as description. If image is not attached to a post, image filename will be used instead.', '
|
822 |
</label><br>
|
823 |
|
824 |
</fieldset>
|
@@ -856,13 +856,13 @@ function iaff_admin_interface_render () {
|
|
856 |
|
857 |
<div class="iaff-admin-options-main">
|
858 |
<h2 class="nav-tab-wrapper hide-if-no-js showh2">
|
859 |
-
<a class="nav-tab" href="#iaff-basic"><?php _e('Basic', '
|
860 |
<?php if ( (isset( $settings['preview_pro'] ) && boolval($settings['preview_pro'])) || iaff_is_pro() ) { ?>
|
861 |
-
<a class="nav-tab" href="#iaff-advanced"><?php _e('Advanced', '
|
862 |
-
<a class="nav-tab" href="#iaff-bulk-updater-settings"><?php _e('Bulk Updater Settings', '
|
863 |
<?php } ?>
|
864 |
-
<a class="nav-tab" href="#iaff-bulk-updater"><?php _e('Bulk Updater', '
|
865 |
-
<a class="nav-tab" href="#iaff-support" id="iaff-support-tab"><?php _e('Support', '
|
866 |
</h2>
|
867 |
|
868 |
<form id="iaff-settings" action="options.php" method="post" enctype="multipart/form-data">
|
@@ -872,40 +872,40 @@ function iaff_admin_interface_render () {
|
|
872 |
|
873 |
<!-- Basic Settings -->
|
874 |
<div id="iaff-basic" class="iaff-settings-tab">
|
875 |
-
<h2 class="showh2"><?php _e('Basic Settings', '
|
876 |
-
<p><?php _e('Automatically add Image attributes such as Image Title, Image Caption, Description And Alt Text from Image Filename for new uploads', '
|
877 |
<?php do_settings_sections( 'iaff_basic_settings_section' ); ?>
|
878 |
-
<?php submit_button( __('Save Settings', '
|
879 |
</div>
|
880 |
|
881 |
<!-- Advanced Settings -->
|
882 |
<div id="iaff-advanced" class="iaff-settings-tab">
|
883 |
|
884 |
<?php if( ! iaff_is_pro() ) { ?>
|
885 |
-
<div class="
|
886 |
-
<p><strong><?php
|
887 |
</div>
|
888 |
<?php } ?>
|
889 |
|
890 |
-
<h2 class="showh2"><?php _e('Advanced Settings', '
|
891 |
-
<p><?php _e('Advanced settings for new uploads.', '
|
892 |
<?php do_settings_sections( 'iaff_advanced_settings_section' ); ?>
|
893 |
-
<?php if( iaff_is_pro() ) submit_button( __('Save Settings', '
|
894 |
</div>
|
895 |
|
896 |
<!-- Bulk Updater Settings -->
|
897 |
<div id="iaff-bulk-updater-settings" class="iaff-settings-tab">
|
898 |
|
899 |
<?php if( ! iaff_is_pro() ) { ?>
|
900 |
-
<div class="
|
901 |
-
<p><strong><?php
|
902 |
</div>
|
903 |
<?php } ?>
|
904 |
|
905 |
-
<h2 class="showh2"><?php _e('Bulk Updater Settings', '
|
906 |
-
<p><?php _e('Options set here will be used while running the Bulk Updater.', '
|
907 |
<?php do_settings_sections( 'iaff_bu_settings_section' ); ?>
|
908 |
-
<?php if( iaff_is_pro() ) submit_button( __('Save Settings', '
|
909 |
</div>
|
910 |
|
911 |
</form>
|
@@ -913,32 +913,32 @@ function iaff_admin_interface_render () {
|
|
913 |
<!-- Bulk Updater -->
|
914 |
<div id="iaff-bulk-updater" class="iaff-settings-tab">
|
915 |
|
916 |
-
<h2 class="showh2"><?php _e('Bulk Updater', '
|
917 |
|
918 |
-
<p><?php _e('Run this bulk updater to update Image Title, Caption, Description and Alt Text for all images.', '
|
919 |
|
920 |
<div class="error inline">
|
921 |
-
<p class="hide-if-js"><strong><?php _e('It seems that JavasScript is disabled in your browser. Please enable JavasScript or use a different browser to use the bulk updater.', '
|
922 |
-
<p><strong><?php _e('IMPORTANT: Please backup your database before running the bulk updater.', '
|
923 |
<?php if( ! iaff_is_pro() ) { ?>
|
924 |
-
<p><strong><?php printf( __( 'If your image is named <em>a-lot-like_love.jpg</em>, your Image Title, Caption, Description and Alt Text will be: <em>a lot like love</em>. <a href="%s" target="_blank">Upgrade to Pro</a> for more options.', '
|
925 |
<?php } ?>
|
926 |
</div>
|
927 |
|
928 |
<p class="submit">
|
929 |
-
<input class="button-primary iaff-bulk-updater-buttons iaff_run_bulk_updater_button" type="submit" name="Run Bulk Updater" value="<?php
|
930 |
|
931 |
-
<input class="button-secondary iaff-bulk-updater-buttons iaff_test_bulk_updater_button" type="submit" name="Test Bulk Updater" value="<?php
|
932 |
|
933 |
-
<input class="button-secondary iaff-bulk-updater-buttons iaff_stop_bulk_updater_button" type="submit" name="
|
934 |
</p>
|
935 |
|
936 |
-
<h2 class="showh2"><?php _e('Reset Counter', '
|
937 |
|
938 |
-
<p><?php _e('To restart processing images from the beginning (the oldest upload first), reset the counter.', '
|
939 |
|
940 |
<span class="reset-counter-button">
|
941 |
-
<?php submit_button( __('Reset Counter', '
|
942 |
</span>
|
943 |
|
944 |
<!-- Event log -->
|
@@ -947,9 +947,9 @@ function iaff_admin_interface_render () {
|
|
947 |
<legend><span class="dashicons dashicons-welcome-write-blog"></span> <strong>Event Log</strong> <div class="iaff-spinner is-active" style="margin-top:0px;"></div></legend>
|
948 |
|
949 |
<div id="bulk-updater-log">
|
950 |
-
<p id="iaff_remaining_images_text"><?php _e('Number of Images Remaining: ', '
|
951 |
|
952 |
-
<p><?php _e('Number of Images Updated: ', '
|
953 |
</div>
|
954 |
</fieldset>
|
955 |
</div>
|
@@ -979,9 +979,9 @@ function iaff_admin_interface_render () {
|
|
979 |
<!-- Support Tab -->
|
980 |
<div id="iaff-support" class="iaff-settings-tab">
|
981 |
|
982 |
-
<h2 class="showh2"><?php _e('Support And Documentation', '
|
983 |
|
984 |
-
<p><?php _e('Looking for help? Here are the available options.', '
|
985 |
|
986 |
<!-- Free Support -->
|
987 |
<div class="iaff-support-block">
|
@@ -1002,7 +1002,7 @@ function iaff_admin_interface_render () {
|
|
1002 |
<h2 class="patua showh2">Premium Support</h2>
|
1003 |
<ul>
|
1004 |
<li><span class="dashicons dashicons-yes"></span><a target="_blank" href="https://imageattributespro.com/docs?utm_source=iap&utm_medium=support-tab">Documentation</a></li>
|
1005 |
-
<li><span class="dashicons dashicons-yes"></span><a target="_blank" href="https://
|
1006 |
<li><span class="dashicons dashicons-yes"></span><a target="_blank" href="https://imageattributespro.com/contact/?utm_source=iap&utm_medium=support-tab">Contact Support</a></li>
|
1007 |
|
1008 |
</ul>
|
45 |
|
46 |
<label for="iaff_settings[global_switch]">
|
47 |
<input type="checkbox" name="iaff_settings[global_switch]" id="iaff_settings[global_switch]" value="1" <?php if ( isset($settings['global_switch']) ) checked( '1', $settings['global_switch'] ); ?>>
|
48 |
+
<span><?php _e('Globally enable or disable Auto Image Attributes. Should be checked for the plugin to work.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
49 |
</label><br>
|
50 |
|
51 |
</fieldset>
|
71 |
<!-- Auto Add Image Title -->
|
72 |
<label for="iaff_settings[image_title]">
|
73 |
<input type="checkbox" name="iaff_settings[image_title]" id="iaff_settings[image_title]" value="1" <?php if ( isset($settings['image_title']) ) checked( '1', $settings['image_title'] ); ?>>
|
74 |
+
<span><?php _e('Set Image Title for new uploads', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
75 |
</label><br>
|
76 |
|
77 |
<!-- Auto Add Image Caption -->
|
78 |
<label for="iaff_settings[image_caption]">
|
79 |
<input type="checkbox" name="iaff_settings[image_caption]" id="iaff_settings[image_caption]" value="1" <?php if ( isset($settings['image_caption']) ) checked( '1', $settings['image_caption'] ); ?>>
|
80 |
+
<span><?php _e('Set Image Caption for new uploads', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
81 |
</label><br>
|
82 |
|
83 |
<!-- Auto Add Image Description -->
|
84 |
<label for="iaff_settings[image_description]">
|
85 |
<input type="checkbox" name="iaff_settings[image_description]" id="iaff_settings[image_description]" value="1" <?php if ( isset($settings['image_description']) ) checked( '1', $settings['image_description'] ); ?>>
|
86 |
+
<span><?php _e('Set Image Description for new uploads', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
87 |
</label><br>
|
88 |
|
89 |
<!-- Auto Add Alt Text -->
|
90 |
<label for="iaff_settings[image_alttext]">
|
91 |
<input type="checkbox" name="iaff_settings[image_alttext]" id="iaff_settings[image_alttext]" value="1" <?php if ( isset($settings['image_alttext']) ) checked( '1', $settings['image_alttext'] ); ?>>
|
92 |
+
<span><?php _e('Set Image Alt Text for new uploads', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
93 |
</label><br>
|
94 |
|
95 |
</fieldset>
|
114 |
<!-- Filter Hyphens -->
|
115 |
<label for="iaff_settings[hyphens]">
|
116 |
<input type="checkbox" name="iaff_settings[hyphens]" id="iaff_settings[hyphens]" value="1" <?php if ( isset($settings['hyphens']) ) checked( '1', $settings['hyphens'] ); ?>>
|
117 |
+
<span><?php _e('Remove hyphens ( - ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
118 |
</label><br>
|
119 |
|
120 |
<!-- Filter Underscore -->
|
121 |
<label for="iaff_settings[under_score]">
|
122 |
<input type="checkbox" name="iaff_settings[under_score]" id="iaff_settings[under_score]" value="1" <?php if ( isset($settings['under_score']) ) checked( '1', $settings['under_score'] ); ?>>
|
123 |
+
<span><?php _e('Remove underscores ( _ ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
124 |
</label><br>
|
125 |
|
126 |
<!-- Filter Full stops -->
|
127 |
<label for="iaff_settings[full_stop]">
|
128 |
<input type="checkbox" name="iaff_settings[full_stop]" id="iaff_settings[full_stop]" value="1" <?php if ( isset($settings['full_stop']) ) checked( '1', $settings['full_stop'] ); ?>>
|
129 |
+
<span><?php _e('Remove full stops ( . ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
130 |
</label><br>
|
131 |
|
132 |
<!-- Filter Commas -->
|
133 |
<label for="iaff_settings[commas]">
|
134 |
<input type="checkbox" name="iaff_settings[commas]" id="iaff_settings[commas]" value="1" <?php if ( isset($settings['commas']) ) checked( '1', $settings['commas'] ); ?>>
|
135 |
+
<span><?php _e('Remove commas ( , ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
136 |
</label><br>
|
137 |
|
138 |
<!-- Filter Numbers -->
|
139 |
<label for="iaff_settings[all_numbers]">
|
140 |
<input type="checkbox" name="iaff_settings[all_numbers]" id="iaff_settings[all_numbers]" value="1" <?php if ( isset($settings['all_numbers']) ) checked( '1', $settings['all_numbers'] ); ?>>
|
141 |
+
<span><?php _e('Remove all numbers ( 0-9 ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
142 |
</label><br>
|
143 |
|
144 |
</fieldset>
|
162 |
<!-- Insert Image Title Into Post HTML -->
|
163 |
<label for="iaff_settings[image_title_to_html]">
|
164 |
<input type="checkbox" name="iaff_settings[image_title_to_html]" id="iaff_settings[image_title_to_html]" value="1" <?php if ( isset($settings['image_title_to_html']) ) checked( '1', $settings['image_title_to_html'] ); ?>>
|
165 |
+
<span><?php _e('Insert Image Title into post HTML. This will add title="Image Title" in the <img> tag.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
166 |
</label><br>
|
167 |
|
168 |
</fieldset>
|
186 |
<!-- Preview Pro Settings -->
|
187 |
<label for="iaff_settings[preview_pro]">
|
188 |
<input type="checkbox" name="iaff_settings[preview_pro]" id="iaff_settings[preview_pro]" value="1" <?php if ( isset($settings['preview_pro']) ) checked( '1', $settings['preview_pro'] ); ?>>
|
189 |
+
<span><?php printf( __( 'Check to see a preview of all the options that ship with <a href="%s" target="_blank">Image Attributes Pro</a>.', 'auto-image-attributes-from-filename-with-bulk-updater' ),
|
190 |
'https://imageattributespro.com/?utm_source=iaff-basic&utm_medium=preview-pro-setting'
|
191 |
); ?></span>
|
192 |
</label><br>
|
212 |
<!-- Filter Apostrophe -->
|
213 |
<label for="iaff_settings[apostrophe]">
|
214 |
<input type="checkbox" name="iaff_settings[apostrophe]" id="iaff_settings[apostrophe]" value="1" <?php if ( isset($settings['apostrophe']) ) checked( '1', $settings['apostrophe'] ); ?>>
|
215 |
+
<span><?php _e('Remove apostrophe ( \' ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
216 |
</label><br>
|
217 |
|
218 |
<!-- Filter Tilde -->
|
219 |
<label for="iaff_settings[tilde]">
|
220 |
<input type="checkbox" name="iaff_settings[tilde]" id="iaff_settings[tilde]" value="1" <?php if ( isset($settings['tilde']) ) checked( '1', $settings['tilde'] ); ?>>
|
221 |
+
<span><?php _e('Remove tilde ( ~ ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
222 |
</label><br>
|
223 |
|
224 |
<!-- Filter Plus -->
|
225 |
<label for="iaff_settings[plus]">
|
226 |
<input type="checkbox" name="iaff_settings[plus]" id="iaff_settings[plus]" value="1" <?php if ( isset($settings['plus']) ) checked( '1', $settings['plus'] ); ?>>
|
227 |
+
<span><?php _e('Remove plus ( + ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
228 |
</label><br>
|
229 |
|
230 |
<!-- Filter Pound -->
|
231 |
<label for="iaff_settings[pound]">
|
232 |
<input type="checkbox" name="iaff_settings[pound]" id="iaff_settings[pound]" value="1" <?php if ( isset($settings['pound']) ) checked( '1', $settings['pound'] ); ?>>
|
233 |
+
<span><?php _e('Remove pound ( # ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
234 |
</label><br>
|
235 |
|
236 |
<!-- Filter Ampersand -->
|
237 |
<label for="iaff_settings[ampersand]">
|
238 |
<input type="checkbox" name="iaff_settings[ampersand]" id="iaff_settings[ampersand]" value="1" <?php if ( isset($settings['ampersand']) ) checked( '1', $settings['ampersand'] ); ?>>
|
239 |
+
<span><?php _e('Remove ampersand ( & ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
240 |
</label><br>
|
241 |
|
242 |
<!-- Filter Round Brackets -->
|
243 |
<label for="iaff_settings[round_brackets]">
|
244 |
<input type="checkbox" name="iaff_settings[round_brackets]" id="iaff_settings[round_brackets]" value="1" <?php if ( isset($settings['round_brackets']) ) checked( '1', $settings['round_brackets'] ); ?>>
|
245 |
+
<span><?php _e('Remove round brackets ( ( ) ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
246 |
</label><br>
|
247 |
|
248 |
<!-- Filter Square Brackets -->
|
249 |
<label for="iaff_settings[square_brackets]">
|
250 |
<input type="checkbox" name="iaff_settings[square_brackets]" id="iaff_settings[square_brackets]" value="1" <?php if ( isset($settings['square_brackets']) ) checked( '1', $settings['square_brackets'] ); ?>>
|
251 |
+
<span><?php _e('Remove square brackets ( [ ] ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
252 |
</label><br>
|
253 |
|
254 |
<!-- Filter Curly Brackets -->
|
255 |
<label for="iaff_settings[curly_brackets]">
|
256 |
<input type="checkbox" name="iaff_settings[curly_brackets]" id="iaff_settings[curly_brackets]" value="1" <?php if ( isset($settings['curly_brackets']) ) checked( '1', $settings['curly_brackets'] ); ?>>
|
257 |
+
<span><?php _e('Remove curly brackets ( { } ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
258 |
</label><br>
|
259 |
|
260 |
</fieldset>
|
276 |
<fieldset>
|
277 |
|
278 |
<p>Enter words or characters to filter separated by commas. Filter is case sensitive.</p>
|
279 |
+
<input type="text" name="iaff_settings[custom_filter]" placeholder="DCIM, img" class="all-options" value="<?php if ( isset( $settings['custom_filter'] ) && ( ! empty( $settings['custom_filter'] ) ) ) echo esc_attr( $settings['custom_filter'] ); ?>"/><br><br>
|
280 |
|
281 |
<p>Filter with regular expression</p>
|
282 |
+
<input type="text" name="iaff_settings[regex_filter]" placeholder="/regex/" class="all-options" value="<?php if ( isset( $settings['regex_filter'] ) && ( ! empty( $settings['regex_filter'] ) ) ) echo esc_attr( $settings['regex_filter'] ); ?>"/><br>
|
283 |
|
284 |
</fieldset>
|
285 |
|
302 |
<!-- No capitalization -->
|
303 |
<label>
|
304 |
<input type="radio" name="iaff_settings[capitalization]" value="0" <?php if ( isset($settings['capitalization']) ) checked( '0', $settings['capitalization'] ); ?>/>
|
305 |
+
<span><?php esc_attr_e( 'Leave unchanged', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
306 |
</label><br>
|
307 |
|
308 |
<!-- Lowercase -->
|
309 |
<label>
|
310 |
<input type="radio" name="iaff_settings[capitalization]" value="1" <?php if ( isset($settings['capitalization']) ) checked( '1', $settings['capitalization'] ); ?>/>
|
311 |
+
<span><?php esc_attr_e( 'convert to lowercase', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
312 |
</label><br>
|
313 |
|
314 |
<!-- Uppercase -->
|
315 |
<label>
|
316 |
<input type="radio" name="iaff_settings[capitalization]" value="2" <?php if ( isset($settings['capitalization']) ) checked( '2', $settings['capitalization'] ); ?>/>
|
317 |
+
<span><?php esc_attr_e( 'CONVERT TO UPPERCASE', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
318 |
</label><br>
|
319 |
|
320 |
<!-- Title Casing -->
|
321 |
<label>
|
322 |
<input type="radio" name="iaff_settings[capitalization]" value="3" <?php if ( isset($settings['capitalization']) ) checked( '3', $settings['capitalization'] ); ?>/>
|
323 |
+
<span><?php esc_attr_e( 'Use title casing. First Letter Of Each Word Will Be Capitalized.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
324 |
</label><br>
|
325 |
|
326 |
<!-- Sentence Casing -->
|
327 |
<label>
|
328 |
<input type="radio" name="iaff_settings[capitalization]" value="4" <?php if ( isset($settings['capitalization']) ) checked( '4', $settings['capitalization'] ); ?>/>
|
329 |
+
<span><?php esc_attr_e( 'Use sentence casing. First letter of a sentence will be capitalized.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
330 |
</label><br>
|
331 |
|
332 |
</fieldset>
|
349 |
|
350 |
<label>
|
351 |
<input type="radio" name="iaff_settings[title_source]" value="0" <?php if ( isset($settings['title_source']) ) checked( '0', $settings['title_source'] ); ?>/>
|
352 |
+
<span><?php esc_attr_e( 'Use image filename as title text', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
353 |
</label><br>
|
354 |
|
355 |
<label>
|
356 |
<input type="radio" name="iaff_settings[title_source]" value="1" <?php if ( isset($settings['title_source']) ) checked( '1', $settings['title_source'] ); ?>/>
|
357 |
+
<span><?php esc_attr_e( 'Use post title as title text. If image is not attached to a post, image filename will be used instead.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
358 |
</label><br>
|
359 |
|
360 |
</fieldset>
|
377 |
|
378 |
<label>
|
379 |
<input type="radio" name="iaff_settings[alt_text_source]" value="0" <?php if ( isset($settings['alt_text_source']) ) checked( '0', $settings['alt_text_source'] ); ?>/>
|
380 |
+
<span><?php esc_attr_e( 'Use image filename as alt text', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
381 |
</label><br>
|
382 |
|
383 |
<label>
|
384 |
<input type="radio" name="iaff_settings[alt_text_source]" value="1" <?php if ( isset($settings['alt_text_source']) ) checked( '1', $settings['alt_text_source'] ); ?>/>
|
385 |
+
<span><?php esc_attr_e( 'Use post title as alt text. If image is not attached to a post, image filename will be used instead.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
386 |
</label><br>
|
387 |
|
388 |
</fieldset>
|
405 |
|
406 |
<label>
|
407 |
<input type="radio" name="iaff_settings[caption_source]" value="0" <?php if ( isset($settings['caption_source']) ) checked( '0', $settings['caption_source'] ); ?>/>
|
408 |
+
<span><?php esc_attr_e( 'Use image filename as caption', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
409 |
</label><br>
|
410 |
|
411 |
<label>
|
412 |
<input type="radio" name="iaff_settings[caption_source]" value="1" <?php if ( isset($settings['caption_source']) ) checked( '1', $settings['caption_source'] ); ?>/>
|
413 |
+
<span><?php esc_attr_e( 'Use post title as caption. If image is not attached to a post, image filename will be used instead.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
414 |
</label><br>
|
415 |
|
416 |
</fieldset>
|
433 |
|
434 |
<label>
|
435 |
<input type="radio" name="iaff_settings[description_source]" value="0" <?php if ( isset($settings['description_source']) ) checked( '0', $settings['description_source'] ); ?>/>
|
436 |
+
<span><?php esc_attr_e( 'Use image filename as description', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
437 |
</label><br>
|
438 |
|
439 |
<label>
|
440 |
<input type="radio" name="iaff_settings[description_source]" value="1" <?php if ( isset($settings['description_source']) ) checked( '1', $settings['description_source'] ); ?>/>
|
441 |
+
<span><?php esc_attr_e( 'Use post title as description. If image is not attached to a post, image filename will be used instead.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
442 |
</label><br>
|
443 |
|
444 |
</fieldset>
|
462 |
<!-- Clean filename -->
|
463 |
<label for="iaff_settings[clean_filename]">
|
464 |
<input type="checkbox" name="iaff_settings[clean_filename]" id="iaff_settings[clean_filename]" value="1" <?php if ( isset($settings['clean_filename']) ) checked( '1', $settings['clean_filename'] ); ?>>
|
465 |
+
<span><?php _e('Clean actual image filename after upload.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
466 |
</label><br>
|
467 |
|
468 |
</fieldset>
|
486 |
<!-- Auto Add Image Title -->
|
487 |
<label for="iaff_settings[bu_image_title]">
|
488 |
<input type="checkbox" name="iaff_settings[bu_image_title]" id="iaff_settings[bu_image_title]" value="1" <?php if ( isset($settings['bu_image_title']) ) checked( '1', $settings['bu_image_title'] ); ?>>
|
489 |
+
<span><?php _e('Update Image Title', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
490 |
</label><br>
|
491 |
|
492 |
<!-- Auto Add Image Caption -->
|
493 |
<label for="iaff_settings[bu_image_caption]">
|
494 |
<input type="checkbox" name="iaff_settings[bu_image_caption]" id="iaff_settings[bu_image_caption]" value="1" <?php if ( isset($settings['bu_image_caption']) ) checked( '1', $settings['bu_image_caption'] ); ?>>
|
495 |
+
<span><?php _e('Update Image Caption', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
496 |
</label><br>
|
497 |
|
498 |
<!-- Auto Add Image Description -->
|
499 |
<label for="iaff_settings[bu_image_description]">
|
500 |
<input type="checkbox" name="iaff_settings[bu_image_description]" id="iaff_settings[bu_image_description]" value="1" <?php if ( isset($settings['bu_image_description']) ) checked( '1', $settings['bu_image_description'] ); ?>>
|
501 |
+
<span><?php _e('Update Image Description', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
502 |
</label><br>
|
503 |
|
504 |
<!-- Auto Add Alt Text -->
|
505 |
<label for="iaff_settings[bu_image_alttext]">
|
506 |
<input type="checkbox" name="iaff_settings[bu_image_alttext]" id="iaff_settings[bu_image_alttext]" value="1" <?php if ( isset($settings['bu_image_alttext']) ) checked( '1', $settings['bu_image_alttext'] ); ?>>
|
507 |
+
<span><?php _e('Update Image Alt Text', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
508 |
</label><br>
|
509 |
|
510 |
</fieldset>
|
528 |
<!-- Filter Hyphens -->
|
529 |
<label for="iaff_settings[bu_hyphens]">
|
530 |
<input type="checkbox" name="iaff_settings[bu_hyphens]" id="iaff_settings[bu_hyphens]" value="1" <?php if ( isset($settings['bu_hyphens']) ) checked( '1', $settings['bu_hyphens'] ); ?>>
|
531 |
+
<span><?php _e('Remove hyphens ( - ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
532 |
</label><br>
|
533 |
|
534 |
<!-- Filter Underscore -->
|
535 |
<label for="iaff_settings[bu_under_score]">
|
536 |
<input type="checkbox" name="iaff_settings[bu_under_score]" id="iaff_settings[bu_under_score]" value="1" <?php if ( isset($settings['bu_under_score']) ) checked( '1', $settings['bu_under_score'] ); ?>>
|
537 |
+
<span><?php _e('Remove underscores ( _ ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
538 |
</label><br>
|
539 |
|
540 |
<!-- Filter Full stops -->
|
541 |
<label for="iaff_settings[bu_full_stop]">
|
542 |
<input type="checkbox" name="iaff_settings[bu_full_stop]" id="iaff_settings[bu_full_stop]" value="1" <?php if ( isset($settings['bu_full_stop']) ) checked( '1', $settings['bu_full_stop'] ); ?>>
|
543 |
+
<span><?php _e('Remove full stops ( . ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
544 |
</label><br>
|
545 |
|
546 |
<!-- Filter Commas -->
|
547 |
<label for="iaff_settings[bu_commas]">
|
548 |
<input type="checkbox" name="iaff_settings[bu_commas]" id="iaff_settings[bu_commas]" value="1" <?php if ( isset($settings['bu_commas']) ) checked( '1', $settings['bu_commas'] ); ?>>
|
549 |
+
<span><?php _e('Remove commas ( , ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
550 |
</label><br>
|
551 |
|
552 |
<!-- Filter Numbers -->
|
553 |
<label for="iaff_settings[bu_all_numbers]">
|
554 |
<input type="checkbox" name="iaff_settings[bu_all_numbers]" id="iaff_settings[bu_all_numbers]" value="1" <?php if ( isset($settings['bu_all_numbers']) ) checked( '1', $settings['bu_all_numbers'] ); ?>>
|
555 |
+
<span><?php _e('Remove all numbers ( 0-9 ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
556 |
</label><br>
|
557 |
|
558 |
<!-- Filter Apostrophe -->
|
559 |
<label for="iaff_settings[bu_apostrophe]">
|
560 |
<input type="checkbox" name="iaff_settings[bu_apostrophe]" id="iaff_settings[bu_apostrophe]" value="1" <?php if ( isset($settings['bu_apostrophe']) ) checked( '1', $settings['bu_apostrophe'] ); ?>>
|
561 |
+
<span><?php _e('Remove apostrophe ( \' ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
562 |
</label><br>
|
563 |
|
564 |
<!-- Filter Tilde -->
|
565 |
<label for="iaff_settings[bu_tilde]">
|
566 |
<input type="checkbox" name="iaff_settings[bu_tilde]" id="iaff_settings[bu_tilde]" value="1" <?php if ( isset($settings['bu_tilde']) ) checked( '1', $settings['bu_tilde'] ); ?>>
|
567 |
+
<span><?php _e('Remove tilde ( ~ ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
568 |
</label><br>
|
569 |
|
570 |
<!-- Filter Plus -->
|
571 |
<label for="iaff_settings[bu_plus]">
|
572 |
<input type="checkbox" name="iaff_settings[bu_plus]" id="iaff_settings[bu_plus]" value="1" <?php if ( isset($settings['bu_plus']) ) checked( '1', $settings['bu_plus'] ); ?>>
|
573 |
+
<span><?php _e('Remove plus ( + ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
574 |
</label><br>
|
575 |
|
576 |
<!-- Filter Pound -->
|
577 |
<label for="iaff_settings[bu_pound]">
|
578 |
<input type="checkbox" name="iaff_settings[bu_pound]" id="iaff_settings[bu_pound]" value="1" <?php if ( isset($settings['bu_pound']) ) checked( '1', $settings['bu_pound'] ); ?>>
|
579 |
+
<span><?php _e('Remove pound ( # ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
580 |
</label><br>
|
581 |
|
582 |
<!-- Filter Ampersand -->
|
583 |
<label for="iaff_settings[bu_ampersand]">
|
584 |
<input type="checkbox" name="iaff_settings[bu_ampersand]" id="iaff_settings[bu_ampersand]" value="1" <?php if ( isset($settings['bu_ampersand']) ) checked( '1', $settings['bu_ampersand'] ); ?>>
|
585 |
+
<span><?php _e('Remove ampersand ( & ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
586 |
</label><br>
|
587 |
|
588 |
<!-- Filter Round Brackets -->
|
589 |
<label for="iaff_settings[bu_round_brackets]">
|
590 |
<input type="checkbox" name="iaff_settings[bu_round_brackets]" id="iaff_settings[bu_round_brackets]" value="1" <?php if ( isset($settings['bu_round_brackets']) ) checked( '1', $settings['bu_round_brackets'] ); ?>>
|
591 |
+
<span><?php _e('Remove round brackets ( ( ) ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
592 |
</label><br>
|
593 |
|
594 |
<!-- Filter Square Brackets -->
|
595 |
<label for="iaff_settings[bu_square_brackets]">
|
596 |
<input type="checkbox" name="iaff_settings[bu_square_brackets]" id="iaff_settings[bu_square_brackets]" value="1" <?php if ( isset($settings['bu_square_brackets']) ) checked( '1', $settings['bu_square_brackets'] ); ?>>
|
597 |
+
<span><?php _e('Remove square brackets ( [ ] ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
598 |
</label><br>
|
599 |
|
600 |
<!-- Filter Curly Brackets -->
|
601 |
<label for="iaff_settings[bu_curly_brackets]">
|
602 |
<input type="checkbox" name="iaff_settings[bu_curly_brackets]" id="iaff_settings[bu_curly_brackets]" value="1" <?php if ( isset($settings['bu_curly_brackets']) ) checked( '1', $settings['bu_curly_brackets'] ); ?>>
|
603 |
+
<span><?php _e('Remove curly brackets ( { } ) from filename', 'auto-image-attributes-from-filename-with-bulk-updater') ?></span>
|
604 |
</label><br>
|
605 |
|
606 |
</fieldset>
|
622 |
<fieldset>
|
623 |
|
624 |
<p>Enter words or characters to filter separated by commas. Filter is case sensitive.</p>
|
625 |
+
<input type="text" name="iaff_settings[bu_custom_filter]" placeholder="DCIM, img" class="all-options" value="<?php if ( isset( $settings['bu_custom_filter'] ) && ( ! empty( $settings['bu_custom_filter'] ) ) ) echo esc_attr( $settings['bu_custom_filter'] ); ?>"/><br><br>
|
626 |
|
627 |
<p>Filter with regular expression</p>
|
628 |
+
<input type="text" name="iaff_settings[bu_regex_filter]" placeholder="/regex/" class="all-options" value="<?php if ( isset( $settings['bu_regex_filter'] ) && ( ! empty( $settings['bu_regex_filter'] ) ) ) echo esc_attr( $settings['bu_regex_filter'] ); ?>"/><br>
|
629 |
|
630 |
</fieldset>
|
631 |
|
648 |
<!-- No bu_capitalization -->
|
649 |
<label>
|
650 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="0" <?php if ( isset($settings['bu_capitalization']) ) checked( '0', $settings['bu_capitalization'] ); ?>/>
|
651 |
+
<span><?php esc_attr_e( 'Leave unchanged', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
652 |
</label><br>
|
653 |
|
654 |
<!-- Lowercase -->
|
655 |
<label>
|
656 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="1" <?php if ( isset($settings['bu_capitalization']) ) checked( '1', $settings['bu_capitalization'] ); ?>/>
|
657 |
+
<span><?php esc_attr_e( 'convert to lowercase', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
658 |
</label><br>
|
659 |
|
660 |
<!-- Uppercase -->
|
661 |
<label>
|
662 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="2" <?php if ( isset($settings['bu_capitalization']) ) checked( '2', $settings['bu_capitalization'] ); ?>/>
|
663 |
+
<span><?php esc_attr_e( 'CONVERT TO UPPERCASE', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
664 |
</label><br>
|
665 |
|
666 |
<!-- Title Casing -->
|
667 |
<label>
|
668 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="3" <?php if ( isset($settings['bu_capitalization']) ) checked( '3', $settings['bu_capitalization'] ); ?>/>
|
669 |
+
<span><?php esc_attr_e( 'Use title casing. First Letter Of Each Word Will Be Capitalized.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
670 |
</label><br>
|
671 |
|
672 |
<!-- Sentence Casing -->
|
673 |
<label>
|
674 |
<input type="radio" name="iaff_settings[bu_capitalization]" value="4" <?php if ( isset($settings['bu_capitalization']) ) checked( '4', $settings['bu_capitalization'] ); ?>/>
|
675 |
+
<span><?php esc_attr_e( 'Use sentence casing. First letter of a sentence will be capitalized.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
676 |
</label><br>
|
677 |
|
678 |
</fieldset>
|
695 |
|
696 |
<label>
|
697 |
<input type="radio" name="iaff_settings[bu_title_source]" value="0" <?php if ( isset($settings['bu_title_source']) ) checked( '0', $settings['bu_title_source'] ); ?>/>
|
698 |
+
<span><?php esc_attr_e( 'Use image filename as title text', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
699 |
</label><br>
|
700 |
|
701 |
<label>
|
702 |
<input type="radio" name="iaff_settings[bu_title_source]" value="1" <?php if ( isset($settings['bu_title_source']) ) checked( '1', $settings['bu_title_source'] ); ?>/>
|
703 |
+
<span><?php esc_attr_e( 'Use post title as title text. If image is not attached to a post, image filename will be used instead.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
704 |
</label><br>
|
705 |
|
706 |
<h4>Bulk Updater Behaviour</h4>
|
707 |
|
708 |
<label>
|
709 |
<input type="radio" name="iaff_settings[bu_titles_in_post]" value="0" <?php if ( isset($settings['bu_titles_in_post']) ) checked( '0', $settings['bu_titles_in_post'] ); ?>/>
|
710 |
+
<span><?php esc_attr_e( 'Update image titles in media library only. Image titles in existing posts will be left unchanged.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
711 |
</label><br>
|
712 |
|
713 |
<label>
|
714 |
<input type="radio" name="iaff_settings[bu_titles_in_post]" value="1" <?php if ( isset($settings['bu_titles_in_post']) ) checked( '1', $settings['bu_titles_in_post'] ); ?>/>
|
715 |
+
<span><?php esc_attr_e( 'Update image titles in media library and existing posts.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
716 |
</label><br>
|
717 |
|
718 |
<label>
|
719 |
<input type="radio" name="iaff_settings[bu_titles_in_post]" value="2" <?php if ( isset($settings['bu_titles_in_post']) ) checked( '2', $settings['bu_titles_in_post'] ); ?>/>
|
720 |
+
<span><?php esc_attr_e( 'Update image titles in existing posts only if no title is set. All image titles in media library will be updated.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
721 |
</label><br>
|
722 |
|
723 |
</fieldset>
|
740 |
|
741 |
<label>
|
742 |
<input type="radio" name="iaff_settings[bu_alt_text_source]" value="0" <?php if ( isset($settings['bu_alt_text_source']) ) checked( '0', $settings['bu_alt_text_source'] ); ?>/>
|
743 |
+
<span><?php esc_attr_e( 'Use filename as alt text.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
744 |
</label><br>
|
745 |
|
746 |
<label>
|
747 |
<input type="radio" name="iaff_settings[bu_alt_text_source]" value="1" <?php if ( isset($settings['bu_alt_text_source']) ) checked( '1', $settings['bu_alt_text_source'] ); ?>/>
|
748 |
+
<span><?php esc_attr_e( 'Use post title as alt text. If image is not attached to a post, image filename will be used instead.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
749 |
</label><br>
|
750 |
|
751 |
<h4>Bulk Updater Behaviour</h4>
|
752 |
|
753 |
<label>
|
754 |
<input type="radio" name="iaff_settings[bu_alt_text_in_post]" value="0" <?php if ( isset($settings['bu_alt_text_in_post']) ) checked( '0', $settings['bu_alt_text_in_post'] ); ?>/>
|
755 |
+
<span><?php esc_attr_e( 'Update alt text in media library only. Alt text in existing posts will be left unchanged.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
756 |
</label><br>
|
757 |
|
758 |
<label>
|
759 |
<input type="radio" name="iaff_settings[bu_alt_text_in_post]" value="1" <?php if ( isset($settings['bu_alt_text_in_post']) ) checked( '1', $settings['bu_alt_text_in_post'] ); ?>/>
|
760 |
+
<span><?php esc_attr_e( 'Update alt text in media library and existing posts.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
761 |
</label><br>
|
762 |
|
763 |
<label>
|
764 |
<input type="radio" name="iaff_settings[bu_alt_text_in_post]" value="2" <?php if ( isset($settings['bu_alt_text_in_post']) ) checked( '2', $settings['bu_alt_text_in_post'] ); ?>/>
|
765 |
+
<span><?php esc_attr_e( 'Update alt text in existing posts only if no alt text is set. All alt text in media library will be updated.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
766 |
</label><br>
|
767 |
|
768 |
</fieldset>
|
785 |
|
786 |
<label>
|
787 |
<input type="radio" name="iaff_settings[bu_caption_source]" value="0" <?php if ( isset($settings['bu_caption_source']) ) checked( '0', $settings['bu_caption_source'] ); ?>/>
|
788 |
+
<span><?php esc_attr_e( 'Use image filename as caption', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
789 |
</label><br>
|
790 |
|
791 |
<label>
|
792 |
<input type="radio" name="iaff_settings[bu_caption_source]" value="1" <?php if ( isset($settings['bu_caption_source']) ) checked( '1', $settings['bu_caption_source'] ); ?>/>
|
793 |
+
<span><?php esc_attr_e( 'Use post title as caption. If image is not attached to a post, image filename will be used instead.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
794 |
</label><br>
|
795 |
|
796 |
</fieldset>
|
813 |
|
814 |
<label>
|
815 |
<input type="radio" name="iaff_settings[bu_description_source]" value="0" <?php if ( isset($settings['bu_description_source']) ) checked( '0', $settings['bu_description_source'] ); ?>/>
|
816 |
+
<span><?php esc_attr_e( 'Use image filename as description', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
817 |
</label><br>
|
818 |
|
819 |
<label>
|
820 |
<input type="radio" name="iaff_settings[bu_description_source]" value="1" <?php if ( isset($settings['bu_description_source']) ) checked( '1', $settings['bu_description_source'] ); ?>/>
|
821 |
+
<span><?php esc_attr_e( 'Use post title as description. If image is not attached to a post, image filename will be used instead.', 'auto-image-attributes-from-filename-with-bulk-updater' ); ?></span>
|
822 |
</label><br>
|
823 |
|
824 |
</fieldset>
|
856 |
|
857 |
<div class="iaff-admin-options-main">
|
858 |
<h2 class="nav-tab-wrapper hide-if-no-js showh2">
|
859 |
+
<a class="nav-tab" href="#iaff-basic"><?php _e('Basic', 'auto-image-attributes-from-filename-with-bulk-updater') ?></a>
|
860 |
<?php if ( (isset( $settings['preview_pro'] ) && boolval($settings['preview_pro'])) || iaff_is_pro() ) { ?>
|
861 |
+
<a class="nav-tab" href="#iaff-advanced"><?php _e('Advanced', 'auto-image-attributes-from-filename-with-bulk-updater') ?></a>
|
862 |
+
<a class="nav-tab" href="#iaff-bulk-updater-settings"><?php _e('Bulk Updater Settings', 'auto-image-attributes-from-filename-with-bulk-updater') ?></a>
|
863 |
<?php } ?>
|
864 |
+
<a class="nav-tab" href="#iaff-bulk-updater"><?php _e('Bulk Updater', 'auto-image-attributes-from-filename-with-bulk-updater') ?></a>
|
865 |
+
<a class="nav-tab" href="#iaff-support" id="iaff-support-tab"><?php _e('Support', 'auto-image-attributes-from-filename-with-bulk-updater') ?></a>
|
866 |
</h2>
|
867 |
|
868 |
<form id="iaff-settings" action="options.php" method="post" enctype="multipart/form-data">
|
872 |
|
873 |
<!-- Basic Settings -->
|
874 |
<div id="iaff-basic" class="iaff-settings-tab">
|
875 |
+
<h2 class="showh2"><?php _e('Basic Settings', 'auto-image-attributes-from-filename-with-bulk-updater') ?></h2>
|
876 |
+
<p><?php _e('Automatically add Image attributes such as Image Title, Image Caption, Description And Alt Text from Image Filename for new uploads', 'auto-image-attributes-from-filename-with-bulk-updater') ?></p>
|
877 |
<?php do_settings_sections( 'iaff_basic_settings_section' ); ?>
|
878 |
+
<?php submit_button( __('Save Settings', 'auto-image-attributes-from-filename-with-bulk-updater') ); ?>
|
879 |
</div>
|
880 |
|
881 |
<!-- Advanced Settings -->
|
882 |
<div id="iaff-advanced" class="iaff-settings-tab">
|
883 |
|
884 |
<?php if( ! iaff_is_pro() ) { ?>
|
885 |
+
<div class="notice notice-warning inline" style="margin-top: 20px;">
|
886 |
+
<p><strong><?php printf( __( 'The options below is a preview of the features included in <a href="%s" target="_blank">Image Attributes Pro</a>. Please upgrade to use them.', 'auto-image-attributes-from-filename-with-bulk-updater' ), 'https://imageattributespro.com/?utm_source=iaff-basic&utm_medium=preview-warning-advanced-tab' ); ?></strong></p>
|
887 |
</div>
|
888 |
<?php } ?>
|
889 |
|
890 |
+
<h2 class="showh2"><?php _e('Advanced Settings', 'auto-image-attributes-from-filename-with-bulk-updater') ?></h2>
|
891 |
+
<p><?php _e('Advanced settings for new uploads.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></p>
|
892 |
<?php do_settings_sections( 'iaff_advanced_settings_section' ); ?>
|
893 |
+
<?php if( iaff_is_pro() ) submit_button( __('Save Settings', 'auto-image-attributes-from-filename-with-bulk-updater') ); ?>
|
894 |
</div>
|
895 |
|
896 |
<!-- Bulk Updater Settings -->
|
897 |
<div id="iaff-bulk-updater-settings" class="iaff-settings-tab">
|
898 |
|
899 |
<?php if( ! iaff_is_pro() ) { ?>
|
900 |
+
<div class="notice notice-warning inline" style="margin-top: 20px;">
|
901 |
+
<p><strong><?php printf( __( 'The options below is a preview of the features included in <a href="%s" target="_blank">Image Attributes Pro</a>. Please upgrade to use them.', 'auto-image-attributes-from-filename-with-bulk-updater' ), 'https://imageattributespro.com/?utm_source=iaff-basic&utm_medium=preview-warning-bu-settings-tab' ); ?></strong></p>
|
902 |
</div>
|
903 |
<?php } ?>
|
904 |
|
905 |
+
<h2 class="showh2"><?php _e('Bulk Updater Settings', 'auto-image-attributes-from-filename-with-bulk-updater') ?></h2>
|
906 |
+
<p><?php _e('Options set here will be used while running the Bulk Updater.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></p>
|
907 |
<?php do_settings_sections( 'iaff_bu_settings_section' ); ?>
|
908 |
+
<?php if( iaff_is_pro() ) submit_button( __('Save Settings', 'auto-image-attributes-from-filename-with-bulk-updater') ); ?>
|
909 |
</div>
|
910 |
|
911 |
</form>
|
913 |
<!-- Bulk Updater -->
|
914 |
<div id="iaff-bulk-updater" class="iaff-settings-tab">
|
915 |
|
916 |
+
<h2 class="showh2"><?php _e('Bulk Updater', 'auto-image-attributes-from-filename-with-bulk-updater') ?></h2>
|
917 |
|
918 |
+
<p><?php _e('Run this bulk updater to update Image Title, Caption, Description and Alt Text for all images.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></p>
|
919 |
|
920 |
<div class="error inline">
|
921 |
+
<p class="hide-if-js"><strong><?php _e('It seems that JavasScript is disabled in your browser. Please enable JavasScript or use a different browser to use the bulk updater.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></strong></p>
|
922 |
+
<p><strong><?php _e('IMPORTANT: Please backup your database before running the bulk updater.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></strong></p>
|
923 |
<?php if( ! iaff_is_pro() ) { ?>
|
924 |
+
<p><strong><?php printf( __( 'If your image is named <em>a-lot-like_love.jpg</em>, your Image Title, Caption, Description and Alt Text will be: <em>a lot like love</em>. <a href="%s" target="_blank">Upgrade to Pro</a> for more options.', 'auto-image-attributes-from-filename-with-bulk-updater' ), 'https://imageattributespro.com/?utm_source=iaff-basic&utm_medium=bulk-updater-notice' ); ?></strong></p>
|
925 |
<?php } ?>
|
926 |
</div>
|
927 |
|
928 |
<p class="submit">
|
929 |
+
<input class="button-primary iaff-bulk-updater-buttons iaff_run_bulk_updater_button" type="submit" name="Run Bulk Updater" value="<?php _e( 'Run Bulk Updater', 'auto-image-attributes-from-filename-with-bulk-updater' ) ?>" />
|
930 |
|
931 |
+
<input class="button-secondary iaff-bulk-updater-buttons iaff_test_bulk_updater_button" type="submit" name="Test Bulk Updater" value="<?php _e( 'Test Bulk Updater', 'auto-image-attributes-from-filename-with-bulk-updater' ) ?>" />
|
932 |
|
933 |
+
<input class="button-secondary iaff-bulk-updater-buttons iaff_stop_bulk_updater_button" type="submit" name="Stop Bulk Updater" value="<?php _e( 'Stop Bulk Updater', 'auto-image-attributes-from-filename-with-bulk-updater' ) ?>" disabled />
|
934 |
</p>
|
935 |
|
936 |
+
<h2 class="showh2"><?php _e('Reset Counter', 'auto-image-attributes-from-filename-with-bulk-updater') ?></h2>
|
937 |
|
938 |
+
<p><?php _e('To restart processing images from the beginning (the oldest upload first), reset the counter.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></p>
|
939 |
|
940 |
<span class="reset-counter-button">
|
941 |
+
<?php submit_button( __('Reset Counter', 'auto-image-attributes-from-filename-with-bulk-updater'), 'iaff_reset_counter_button' ); ?>
|
942 |
</span>
|
943 |
|
944 |
<!-- Event log -->
|
947 |
<legend><span class="dashicons dashicons-welcome-write-blog"></span> <strong>Event Log</strong> <div class="iaff-spinner is-active" style="margin-top:0px;"></div></legend>
|
948 |
|
949 |
<div id="bulk-updater-log">
|
950 |
+
<p id="iaff_remaining_images_text"><?php _e('Number of Images Remaining: ', 'auto-image-attributes-from-filename-with-bulk-updater') ?><?php echo iaff_count_remaining_images(); ?></p>
|
951 |
|
952 |
+
<p><?php _e('Number of Images Updated: ', 'auto-image-attributes-from-filename-with-bulk-updater') ?><?php echo iaff_number_of_images_updated(); ?></p>
|
953 |
</div>
|
954 |
</fieldset>
|
955 |
</div>
|
979 |
<!-- Support Tab -->
|
980 |
<div id="iaff-support" class="iaff-settings-tab">
|
981 |
|
982 |
+
<h2 class="showh2"><?php _e('Support And Documentation', 'auto-image-attributes-from-filename-with-bulk-updater') ?></h2>
|
983 |
|
984 |
+
<p><?php _e('Looking for help? Here are the available options.', 'auto-image-attributes-from-filename-with-bulk-updater') ?></p>
|
985 |
|
986 |
<!-- Free Support -->
|
987 |
<div class="iaff-support-block">
|
1002 |
<h2 class="patua showh2">Premium Support</h2>
|
1003 |
<ul>
|
1004 |
<li><span class="dashicons dashicons-yes"></span><a target="_blank" href="https://imageattributespro.com/docs?utm_source=iap&utm_medium=support-tab">Documentation</a></li>
|
1005 |
+
<li><span class="dashicons dashicons-yes"></span><a target="_blank" href="https://imageattributespro.com/contact/?utm_source=iap&utm_medium=support-tab">Priority Email Support</a></li>
|
1006 |
<li><span class="dashicons dashicons-yes"></span><a target="_blank" href="https://imageattributespro.com/contact/?utm_source=iap&utm_medium=support-tab">Contact Support</a></li>
|
1007 |
|
1008 |
</ul>
|
admin/iaff_image-attributes-from-filename-basic-setup.php
CHANGED
@@ -7,15 +7,14 @@
|
|
7 |
* @function iaff_load_plugin_textdomain() Load plugin text domain
|
8 |
* @function iaff_settings_link() Print direct link to plugin settings in plugins list in admin
|
9 |
* @function iaff_plugin_row_meta() Add donate and other links to plugins list
|
|
|
10 |
* @function iaff_footer_text() Admin footer text
|
11 |
* @function iaff_footer_version() Admin footer version
|
12 |
*/
|
13 |
|
14 |
-
|
15 |
// Exit if accessed directly
|
16 |
if ( ! defined('ABSPATH') ) exit;
|
17 |
|
18 |
-
|
19 |
/**
|
20 |
* Plugin activatation todo list
|
21 |
*
|
@@ -23,21 +22,24 @@ if ( ! defined('ABSPATH') ) exit;
|
|
23 |
* @since 1.0
|
24 |
*/
|
25 |
function iaff_activate_plugin() {
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
27 |
}
|
28 |
|
29 |
-
|
30 |
/**
|
31 |
* Load plugin text domain
|
32 |
*
|
33 |
* @since 1.0
|
34 |
*/
|
35 |
function iaff_load_plugin_textdomain() {
|
36 |
-
load_plugin_textdomain( '
|
37 |
}
|
38 |
add_action( 'plugins_loaded', 'iaff_load_plugin_textdomain' );
|
39 |
|
40 |
-
|
41 |
/**
|
42 |
* Print direct link to plugin settings in plugins list in admin
|
43 |
*
|
@@ -46,13 +48,12 @@ add_action( 'plugins_loaded', 'iaff_load_plugin_textdomain' );
|
|
46 |
function iaff_settings_link( $links ) {
|
47 |
return array_merge(
|
48 |
array(
|
49 |
-
'settings' => '<a href="' . admin_url( 'options-general.php?page=image-attributes-from-filename' ) . '">' . __( 'Settings', '
|
50 |
),
|
51 |
$links
|
52 |
);
|
53 |
}
|
54 |
-
add_filter( '
|
55 |
-
|
56 |
|
57 |
/**
|
58 |
* Add donate and other links to plugins list
|
@@ -76,6 +77,42 @@ function iaff_plugin_row_meta( $links, $file ) {
|
|
76 |
}
|
77 |
add_filter( 'plugin_row_meta', 'iaff_plugin_row_meta', 10, 2 );
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
|
80 |
/**
|
81 |
* Admin footer text
|
@@ -93,13 +130,13 @@ function iaff_footer_text($default) {
|
|
93 |
return $default;
|
94 |
}
|
95 |
|
96 |
-
$iaff_footer_text = sprintf( __( 'If you like this plugin, please <a href="%s" target="_blank">upgrade to pro</a> or leave a <a href="%s" target="_blank">★★★★★</a> rating to support continued development. Thanks a bunch!', '
|
97 |
'https://imageattributespro.com/?utm_source=iaff-basic&utm_medium=footer',
|
98 |
'https://wordpress.org/support/plugin/auto-image-attributes-from-filename-with-bulk-updater/reviews/?rate=5#new-post'
|
99 |
);
|
100 |
|
101 |
if( iaff_is_pro() ) {
|
102 |
-
$iaff_footer_text = __( 'Thank you for choosing Image Attributes Pro! Use the support tab if you have any questions or feedback.', '
|
103 |
}
|
104 |
|
105 |
return $iaff_footer_text;
|
7 |
* @function iaff_load_plugin_textdomain() Load plugin text domain
|
8 |
* @function iaff_settings_link() Print direct link to plugin settings in plugins list in admin
|
9 |
* @function iaff_plugin_row_meta() Add donate and other links to plugins list
|
10 |
+
* @function iaff_admin_notices() Admin notices
|
11 |
* @function iaff_footer_text() Admin footer text
|
12 |
* @function iaff_footer_version() Admin footer version
|
13 |
*/
|
14 |
|
|
|
15 |
// Exit if accessed directly
|
16 |
if ( ! defined('ABSPATH') ) exit;
|
17 |
|
|
|
18 |
/**
|
19 |
* Plugin activatation todo list
|
20 |
*
|
22 |
* @since 1.0
|
23 |
*/
|
24 |
function iaff_activate_plugin() {
|
25 |
+
|
26 |
+
// Set the counter to 0 for the number of images updated by bulk updater.
|
27 |
+
add_option( 'iaff_bulk_updater_counter', '0' ); // Setting numer of images processed as zero
|
28 |
+
|
29 |
+
// Show admin notice
|
30 |
+
set_transient( 'iaff_activation_admin_notice', true, 5 );
|
31 |
}
|
32 |
|
|
|
33 |
/**
|
34 |
* Load plugin text domain
|
35 |
*
|
36 |
* @since 1.0
|
37 |
*/
|
38 |
function iaff_load_plugin_textdomain() {
|
39 |
+
load_plugin_textdomain( 'auto-image-attributes-from-filename-with-bulk-updater', FALSE, IAFF_IMAGE_ATTRIBUTES_FROM_FILENAME_DIR . '/languages/' );
|
40 |
}
|
41 |
add_action( 'plugins_loaded', 'iaff_load_plugin_textdomain' );
|
42 |
|
|
|
43 |
/**
|
44 |
* Print direct link to plugin settings in plugins list in admin
|
45 |
*
|
48 |
function iaff_settings_link( $links ) {
|
49 |
return array_merge(
|
50 |
array(
|
51 |
+
'settings' => '<a href="' . admin_url( 'options-general.php?page=image-attributes-from-filename' ) . '">' . __( 'Settings', 'auto-image-attributes-from-filename-with-bulk-updater' ) . '</a>'
|
52 |
),
|
53 |
$links
|
54 |
);
|
55 |
}
|
56 |
+
add_filter( 'plugin_action_links_auto-image-attributes-from-filename-with-bulk-updater/iaff_image-attributes-from-filename.php', 'iaff_settings_link' );
|
|
|
57 |
|
58 |
/**
|
59 |
* Add donate and other links to plugins list
|
77 |
}
|
78 |
add_filter( 'plugin_row_meta', 'iaff_plugin_row_meta', 10, 2 );
|
79 |
|
80 |
+
/**
|
81 |
+
* Admin notices
|
82 |
+
*
|
83 |
+
* @since 1.5
|
84 |
+
*/
|
85 |
+
function iaff_admin_notices() {
|
86 |
+
|
87 |
+
// Plugin activation notice
|
88 |
+
if ( get_transient( 'iaff_activation_admin_notice' ) ) {
|
89 |
+
|
90 |
+
echo '<div class="notice notice-success is-dismissible"><p>' . sprintf( __( 'Thank you for installing <strong>Auto Image Attributes From Filename With Bulk Updater</strong>! <a href="%s">Change settings →</a>', 'auto-image-attributes-from-filename-with-bulk-updater' ), admin_url( 'options-general.php?page=image-attributes-from-filename' ) ) . '</p></div>';
|
91 |
+
|
92 |
+
// Delete transient
|
93 |
+
delete_transient( 'iaff_activation_admin_notice' );
|
94 |
+
|
95 |
+
// No more notices on plugin activation.
|
96 |
+
return;
|
97 |
+
}
|
98 |
+
|
99 |
+
// Upgrade complete notice
|
100 |
+
if ( get_transient( 'iaff_upgrade_complete_admin_notice' ) ) {
|
101 |
+
|
102 |
+
$iaff_suggest_pro = '';
|
103 |
+
|
104 |
+
// Suggest IAFF Pro if Pro add-on isn't installed.
|
105 |
+
if ( ! iaff_is_pro() ) {
|
106 |
+
$iaff_suggest_pro = sprintf( __( '<br>Want to use Post Titles for image attributes? Check out the <a href="%s" target="_blank">Image Attributes Pro</a> add-on.', 'auto-image-attributes-from-filename-with-bulk-updater' ), 'https://imageattributespro.com/?utm_source=iaff-basic&utm_medium=upgrade-complete-admin-notice' );
|
107 |
+
}
|
108 |
+
|
109 |
+
echo '<div class="notice notice-success is-dismissible"><p>' . __( '<strong>Auto Image Attributes From Filename With Bulk Updater</strong> successfully updated. ', 'auto-image-attributes-from-filename-with-bulk-updater' ) . $iaff_suggest_pro . '</p></div>';
|
110 |
+
|
111 |
+
// Delete transient
|
112 |
+
delete_transient( 'iaff_upgrade_complete_admin_notice' );
|
113 |
+
}
|
114 |
+
}
|
115 |
+
add_action( 'admin_notices', 'iaff_admin_notices' );
|
116 |
|
117 |
/**
|
118 |
* Admin footer text
|
130 |
return $default;
|
131 |
}
|
132 |
|
133 |
+
$iaff_footer_text = sprintf( __( 'If you like this plugin, please <a href="%s" target="_blank">upgrade to pro</a> or leave a <a href="%s" target="_blank">★★★★★</a> rating to support continued development. Thanks a bunch!', 'auto-image-attributes-from-filename-with-bulk-updater' ),
|
134 |
'https://imageattributespro.com/?utm_source=iaff-basic&utm_medium=footer',
|
135 |
'https://wordpress.org/support/plugin/auto-image-attributes-from-filename-with-bulk-updater/reviews/?rate=5#new-post'
|
136 |
);
|
137 |
|
138 |
if( iaff_is_pro() ) {
|
139 |
+
$iaff_footer_text = __( 'Thank you for choosing Image Attributes Pro! Use the support tab if you have any questions or feedback.', 'auto-image-attributes-from-filename-with-bulk-updater' );
|
140 |
}
|
141 |
|
142 |
return $iaff_footer_text;
|
admin/iaff_image-attributes-from-filename-do.php
CHANGED
@@ -106,7 +106,7 @@ function iaff_rename_old_image() {
|
|
106 |
$image_url = wp_get_attachment_url($image->ID);
|
107 |
|
108 |
// Update Event log
|
109 |
-
echo __('Image attributes updated for: ', '
|
110 |
|
111 |
wp_die();
|
112 |
}
|
@@ -179,7 +179,7 @@ function iaff_reset_bulk_updater_counter() {
|
|
179 |
update_option( 'iaff_bulk_updater_counter', '0' );
|
180 |
|
181 |
$response = array(
|
182 |
-
'message' => __('Counter reset. The bulk updater will start from scratch in the next run.', '
|
183 |
'remaining_images' => iaff_count_remaining_images(true),
|
184 |
);
|
185 |
wp_send_json($response);
|
106 |
$image_url = wp_get_attachment_url($image->ID);
|
107 |
|
108 |
// Update Event log
|
109 |
+
echo __('Image attributes updated for: ', 'auto-image-attributes-from-filename-with-bulk-updater') . '<a href="'. get_edit_post_link($image->ID) .'">'. $image_url .'</a>';
|
110 |
|
111 |
wp_die();
|
112 |
}
|
179 |
update_option( 'iaff_bulk_updater_counter', '0' );
|
180 |
|
181 |
$response = array(
|
182 |
+
'message' => __('Counter reset. The bulk updater will start from scratch in the next run.', 'auto-image-attributes-from-filename-with-bulk-updater'),
|
183 |
'remaining_images' => iaff_count_remaining_images(true),
|
184 |
);
|
185 |
wp_send_json($response);
|
iaff_image-attributes-from-filename.php
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Auto Image Attributes From Filename With Bulk Updater
|
4 |
-
* Plugin URI:
|
5 |
* Description: Automatically Add Image Title, Image Caption, Description And Alt Text From Image Filename. Since this plugin includes a bulk updater this can update both existing images in the Media Library and new images.
|
6 |
* Author: Arun Basil Lal
|
7 |
-
* Author URI:
|
8 |
-
* Version: 1.
|
9 |
-
* Text Domain:
|
10 |
* Domain Path: /languages
|
11 |
* License: GPL v2 - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
12 |
*/
|
@@ -31,71 +31,89 @@
|
|
31 |
* uninstall.php - Fired when the plugin is uninstalled.
|
32 |
*/
|
33 |
|
34 |
-
/**
|
35 |
-
* :TODO:
|
36 |
-
*
|
37 |
-
* - Update IAFF_VERSION_NUM in iaff_starter-plugin.php (keep this line for future updates)
|
38 |
-
*/
|
39 |
-
|
40 |
// Exit if accessed directly
|
41 |
if ( ! defined('ABSPATH') ) exit;
|
42 |
|
43 |
/**
|
44 |
-
* Plugin
|
45 |
*
|
46 |
* @since 1.3
|
|
|
47 |
*/
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
define('IAFF_IMAGE_ATTRIBUTES_FROM_FILENAME_DIR', plugin_dir_path( __FILE__ ));
|
57 |
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
|
|
|
|
|
|
62 |
|
63 |
/**
|
64 |
-
*
|
|
|
|
|
|
|
65 |
*
|
66 |
-
* @since
|
67 |
-
* @constant IAFF_VERSION_NUM the version number of the current version
|
68 |
-
* @refer https://www.smashingmagazine.com/2011/03/ten-things-every-wordpress-plugin-developer-should-know/
|
69 |
*/
|
70 |
-
if (!defined('IAFF_VERSION_NUM'))
|
71 |
-
|
|
|
72 |
|
73 |
/**
|
74 |
-
*
|
75 |
*
|
76 |
-
* @since
|
|
|
77 |
*/
|
78 |
-
function
|
79 |
|
80 |
-
|
|
|
|
|
|
|
|
|
81 |
|
82 |
-
if
|
83 |
-
|
|
|
84 |
}
|
85 |
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
|
88 |
-
|
89 |
-
|
90 |
-
|
|
|
|
|
91 |
}
|
92 |
|
93 |
-
|
|
|
|
|
|
|
|
|
94 |
}
|
95 |
-
add_action( '
|
96 |
|
97 |
// Load everything
|
98 |
require_once( IAFF_IMAGE_ATTRIBUTES_FROM_FILENAME_DIR . '/admin/iaff_image-attributes-from-filename-loader.php');
|
99 |
|
100 |
-
// Register activation hook
|
101 |
register_activation_hook( __FILE__ , 'iaff_activate_plugin' );
|
1 |
<?php
|
2 |
/**
|
3 |
* Plugin Name: Auto Image Attributes From Filename With Bulk Updater
|
4 |
+
* Plugin URI: https://imageattributespro.com/?utm_source=plugin-header&utm_medium=plugin-uri
|
5 |
* Description: Automatically Add Image Title, Image Caption, Description And Alt Text From Image Filename. Since this plugin includes a bulk updater this can update both existing images in the Media Library and new images.
|
6 |
* Author: Arun Basil Lal
|
7 |
+
* Author URI: https://imageattributespro.com/?utm_source=plugin-header&utm_medium=author-uri
|
8 |
+
* Version: 1.5
|
9 |
+
* Text Domain: auto-image-attributes-from-filename-with-bulk-updater
|
10 |
* Domain Path: /languages
|
11 |
* License: GPL v2 - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
12 |
*/
|
31 |
* uninstall.php - Fired when the plugin is uninstalled.
|
32 |
*/
|
33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
// Exit if accessed directly
|
35 |
if ( ! defined('ABSPATH') ) exit;
|
36 |
|
37 |
/**
|
38 |
+
* Plugin directory path and URL constants
|
39 |
*
|
40 |
* @since 1.3
|
41 |
+
* @since 1.5 Removed IAFF_IMAGE_ATTRIBUTES_FROM_FILENAME constant
|
42 |
*/
|
43 |
+
if ( ! defined( 'IAFF_IMAGE_ATTRIBUTES_FROM_FILENAME_DIR' ) ) {
|
44 |
+
|
45 |
+
/**
|
46 |
+
* The absolute path to the plugin directory without the trailing slash. Useful for using with includes
|
47 |
+
* eg - C:\xampp\htdocs\wp/wp-content/plugins/auto-image-attributes-from-filename-with-bulk-updater
|
48 |
+
*/
|
49 |
+
define( 'IAFF_IMAGE_ATTRIBUTES_FROM_FILENAME_DIR', plugin_dir_path( __FILE__ ) );
|
50 |
+
}
|
|
|
51 |
|
52 |
+
if ( ! defined( 'IAFF_IMAGE_ATTRIBUTES_FROM_FILENAME_URL' ) ) {
|
53 |
+
|
54 |
+
/**
|
55 |
+
* The url to the plugin folder. Useful for referencing src
|
56 |
+
* eg - http://localhost/wp/wp-content/plugins/auto-image-attributes-from-filename-with-bulk-updater/
|
57 |
+
*/
|
58 |
+
define( 'IAFF_IMAGE_ATTRIBUTES_FROM_FILENAME_URL', plugin_dir_url( __FILE__ ) );
|
59 |
+
}
|
60 |
|
61 |
/**
|
62 |
+
* A constant with current version of plugin
|
63 |
+
*
|
64 |
+
* IAFF_VERSION_NUM will be current version of the plugin.
|
65 |
+
* This is useful for database upgrades and doing stuff after plugin update.
|
66 |
*
|
67 |
+
* @since 1.3
|
|
|
|
|
68 |
*/
|
69 |
+
if ( ! defined( 'IAFF_VERSION_NUM' ) ) {
|
70 |
+
define( 'IAFF_VERSION_NUM', '1.5' );
|
71 |
+
}
|
72 |
|
73 |
/**
|
74 |
+
* Do stuff after a plugin upgrade.
|
75 |
*
|
76 |
+
* @since 1.4
|
77 |
+
* @since 1.5 Switched to version_compare for version check and added iaff_upgrade_complete_admin_notice transient.
|
78 |
*/
|
79 |
+
function iaff_upgrader() {
|
80 |
|
81 |
+
/**
|
82 |
+
* Get the current version of the plugin stored in the db.
|
83 |
+
* Version was added in 1.3, defaults to 1.2
|
84 |
+
*/
|
85 |
+
$current_ver = get_option( 'abl_iaff_version', '1.2' );
|
86 |
|
87 |
+
// Return if we have already done this todo
|
88 |
+
if ( version_compare( $current_ver, IAFF_VERSION_NUM, '==' ) ) {
|
89 |
+
return;
|
90 |
}
|
91 |
|
92 |
+
/**
|
93 |
+
* Upgrade database settings when upgrading from 1.3 or lower
|
94 |
+
* A global swith with setting name global_switch was introduce in 1.4
|
95 |
+
*/
|
96 |
+
if ( version_compare( $current_ver, '1.3', '<=' ) ) {
|
97 |
+
|
98 |
+
$settings = get_option( 'iaff_settings' );
|
99 |
|
100 |
+
if ( $settings !== false ) {
|
101 |
+
|
102 |
+
$settings['global_switch'] = 1; // Global switch was introduced in ver 1.4
|
103 |
+
update_option('iaff_settings', $settings);
|
104 |
+
}
|
105 |
}
|
106 |
|
107 |
+
// Set transient to show upgrade complete notice
|
108 |
+
set_transient( 'iaff_upgrade_complete_admin_notice', true, 5 );
|
109 |
+
|
110 |
+
// Finally add the current version to the database. Upgrade todo complete.
|
111 |
+
update_option( 'abl_iaff_version', IAFF_VERSION_NUM );
|
112 |
}
|
113 |
+
add_action( 'admin_init', 'iaff_upgrader' );
|
114 |
|
115 |
// Load everything
|
116 |
require_once( IAFF_IMAGE_ATTRIBUTES_FROM_FILENAME_DIR . '/admin/iaff_image-attributes-from-filename-loader.php');
|
117 |
|
118 |
+
// Register activation hook
|
119 |
register_activation_hook( __FILE__ , 'iaff_activate_plugin' );
|
readme.txt
CHANGED