Testimonials Widget - Version 2.12.2

Version Description

= 2.12.0 =

  • CSS and JavaScript renaming
    • bottom_text renamed to bottom-text
    • close_quote renamed to close-quote
    • display_none renamed to display-none
    • join_location renamed to join-location
    • join_title renamed to join-title
    • open_quote renamed to open-quote
    • testimonialswidget_testimonial renamed to testimonials-widget-testimonial
    • testimonialswidget_testimonials renamed to testimonials-widget-testimonials

= 2.11.3 =

  • Correct filter name testimonials_widget_next_posts_link to testimonials_widget_next_posts_link_text

= 2.11.0 =

  • CSS class names are simplified. For the most part, other than testimonialswidget_testimonial remove testimonialswidget_ from the CSS class name in your CSS customizations.
    • Ex: .testimonialswidget_join becomes .join
    • Ex: .testimonialswidget_author becomes .author
  • Testimonials are now formatted using blockquote than q for HTML5 compliance. If you need q tag formatting, enable it at WP Admin > Testimonials > Settings, Compatibility & Reset tab
    • cite is now div.credit

= 2.8.0 =

  • Deprecated
    • hide_author now hide_source
  • Removed filters testimonials_widget_options_update, testimonials_widget_options_form
    • Use testimonials_widget_validate_settings and testimonials_widget_settings instead
  • Renamed variable and related class widget_text to bottom_text

= 2.7.3 =

  • Quotes are no longer handled via q, p:before, or p:after CSS. It's handled via .testimonialswidget_testimonial .testimonialswidget_open_quote:before and .testimonialswidget_testimonial .testimonialswidget_close_quote:after
  • This change was made to keep consistency in how quotes were managed and to reduce the number of exception cases. In the end, this is simpler.

= 2.7.0 =

  • Quotes with keep_whitespace=true aren't applied via CSS .testimonialswidget_testimonial q tag anymore, but .testimonialswidget_testimonial q p:first-child:before and .testimonialswidget_testimonial q p:last-child:after
  • Widget testimonial p tags are no longer CSS display: inline, display: block as expected

= 2.4.1 =

  • Paging is on by default, except for widgets

= 2.0.0 =

  • CSS
    • Class testimonialswidget_company replaces testimonialswidget_source
    • Class testimonialswidget_source replaces testimonialswidget_author
    • The tighten widget display up, p tags within q are displayed inline.
  • JavaScript
    • The JavaScript for rotating testimonials is moved to the footer. As such, your theme requires wp_footer() in the footer.
  • Shortcode options
    • hide_source replaced by hide_url
    • hide_author replaced by hide_source
  • Testimonials
    • Migration from the old custom table to new custom post type is automatically done. Import might take a few moments to complete.
    • Company, URL and email details are attempted to be identified and placed properly based upon the original author and source fields. The company is "guessed" from the author field when there's a ", " or " of " context. If the source is an email, it's saved as such. Otherwise, it's assumed to be a URL.
    • Public testimonials are saved as Published. Non-public testimonials are marked as Private.
  • Widget options
    • "Show author" and "Show source" options are replaced by "Hide source" and "Hide URL" respectively. There's no backwards compatibility for these changes.
    • Default min-height is now 250px than 150px.
Download this release

Release Info

Developer comprock
Plugin Icon wp plugin Testimonials Widget
Version 2.12.2
Comparing to
See all releases

Code changes from version 2.12.1 to 2.12.2

changelog.txt CHANGED
@@ -4,6 +4,21 @@
4
 
5
  = trunk =
6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  = 2.12.1 =
8
  * BUGFIX Settings memory leak [Sites hosed after update 2.12.0](http://wordpress.org/support/topic/premium-sites-hosed-after-update-2120)
9
  * BUGFIX [importexport settings failure](http://wordpress.org/support/topic/errors-after-updating)
4
 
5
  = trunk =
6
 
7
+ = 2.12.2 =
8
+ * $1 donation link admin_notice on installation or major/minor update
9
+ * Add forum responses cheat sheet
10
+ * Auto flush URLs if archive or testimonial slugs change
11
+ * BUGFIX Respect attribute settings by preventing reset_defaults and importexport activating on front-end
12
+ * Convert slug, slugs, and term setting items to lowercase on save
13
+ * Correctly delete all testimonials options on delete
14
+ * Don't create class instance unless plugin is activated
15
+ * FEATURE Allow for custom post type categories and tags [Idea via crdunst](http://wordpress.org/support/topic/feedback-tagscategories?replies=3#post-4160839)
16
+ * Prevent same has_archive and rewrite_slug which causes URL problems
17
+ * Remove excess FAQ text
18
+ * Remove unused settings and methods
19
+ * Remove unused testing settings
20
+ * Set version for which admin notice to display
21
+
22
  = 2.12.1 =
23
  * BUGFIX Settings memory leak [Sites hosed after update 2.12.0](http://wordpress.org/support/topic/premium-sites-hosed-after-update-2120)
24
  * BUGFIX [importexport settings failure](http://wordpress.org/support/topic/errors-after-updating)
forum-responses.txt ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Are you still having trouble?
2
+
3
+ Has looking through the <a href="https://aihrus.zendesk.com/categories/20104507-Testimonials-Widget">knowledge base</a> helped?
4
+ --
5
+ Got a URL to share with me so that I can help further?
6
+ --
7
+ Are you okay now?
8
+ --
9
+ Did you guys give the Testimonials Widget 2.12.1 release a try yet?
10
+
11
+ That's correctly the recent memory leak.
12
+ --
13
+ Did the 2.12.1 update work for you?
14
+ --
15
+ Please send me an admin login via http://aihr.us/contact-aihrus/.
16
+ --
languages/testimonials-widget.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Testimonials Widget package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Testimonials Widget 2.12.1\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/testimonials-widget\n"
7
- "POT-Creation-Date: 2013-05-01 18:34:11+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -28,443 +28,441 @@ msgstr ""
28
  msgid "Widget"
29
  msgstr ""
30
 
31
- #: lib/class-settings-testimonials-widget.php:69
32
  msgid "Post Type"
33
  msgstr ""
34
 
35
- #: lib/class-settings-testimonials-widget.php:70
36
  msgid "Compatibility & Reset"
37
  msgstr ""
38
 
39
- #: lib/class-settings-testimonials-widget.php:71
40
  msgid "About Testimonials Widget"
41
  msgstr ""
42
 
43
- #: lib/class-settings-testimonials-widget.php:86
44
  msgid "Widget Title"
45
  msgstr ""
46
 
47
- #: lib/class-settings-testimonials-widget.php:87 testimonials-widget.php:464
48
- #: testimonials-widget.php:492
49
  msgid "Testimonials"
50
  msgstr ""
51
 
52
- #: lib/class-settings-testimonials-widget.php:93
53
  msgid "Title Link"
54
  msgstr ""
55
 
56
- #: lib/class-settings-testimonials-widget.php:94
57
  msgid "URL or Post ID to link widget title to. Ex: 123 or http://example.com"
58
  msgstr ""
59
 
60
- #: lib/class-settings-testimonials-widget.php:100
61
  msgid "Character Limit"
62
  msgstr ""
63
 
64
- #: lib/class-settings-testimonials-widget.php:101
65
  msgid "Number of characters to limit non-single testimonial views to"
66
  msgstr ""
67
 
68
- #: lib/class-settings-testimonials-widget.php:107
69
  msgid "Height"
70
  msgstr ""
71
 
72
- #: lib/class-settings-testimonials-widget.php:108
73
  msgid "Testimonials height, in pixels. Overrides minimum and maximum height"
74
  msgstr ""
75
 
76
- #: lib/class-settings-testimonials-widget.php:114
77
  msgid "Rotation Speed"
78
  msgstr ""
79
 
80
- #: lib/class-settings-testimonials-widget.php:115
81
  msgid ""
82
  "Number of seconds between testimonial rotations or 0 for no rotation at all "
83
  "refresh"
84
  msgstr ""
85
 
86
- #: lib/class-settings-testimonials-widget.php:122
87
  msgid "Additional Widget Options"
88
  msgstr ""
89
 
90
- #: lib/class-settings-testimonials-widget.php:128
91
  msgid "Keep Whitespace?"
92
  msgstr ""
93
 
94
- #: lib/class-settings-testimonials-widget.php:129
95
  msgid "Keeps testimonials looking as entered than sans auto-formatting"
96
  msgstr ""
97
 
98
- #: lib/class-settings-testimonials-widget.php:135
99
  msgid "Minimum Height"
100
  msgstr ""
101
 
102
- #: lib/class-settings-testimonials-widget.php:136
103
  msgid "Set for minimum display height, in pixels"
104
  msgstr ""
105
 
106
- #: lib/class-settings-testimonials-widget.php:142
107
  msgid "Maximum Height"
108
  msgstr ""
109
 
110
- #: lib/class-settings-testimonials-widget.php:143
111
  msgid "Set for maximum display height, in pixels"
112
  msgstr ""
113
 
114
- #: lib/class-settings-testimonials-widget.php:149
115
  msgid "Testimonial Bottom Text"
116
  msgstr ""
117
 
118
- #: lib/class-settings-testimonials-widget.php:150
119
  msgid "Custom text or HTML for bottom of testimonials"
120
  msgstr ""
121
 
122
- #: lib/class-settings-testimonials-widget.php:162
123
  msgid "General Options"
124
  msgstr ""
125
 
126
- #: lib/class-settings-testimonials-widget.php:167
127
  msgid "Hide built-in quotes?"
128
  msgstr ""
129
 
130
- #: lib/class-settings-testimonials-widget.php:168
131
  msgid "Remove open and close quote span tags surrounding testimonial content"
132
  msgstr ""
133
 
134
- #: lib/class-settings-testimonials-widget.php:173
135
  msgid "Hide \"Testimonials Not Found\"?"
136
  msgstr ""
137
 
138
- #: lib/class-settings-testimonials-widget.php:178
139
  msgid "Hide Gravatar Image?"
140
  msgstr ""
141
 
142
- #: lib/class-settings-testimonials-widget.php:183
143
  msgid "Hide Image?"
144
  msgstr ""
145
 
146
- #: lib/class-settings-testimonials-widget.php:188
147
  msgid "Hide Image in Single View?"
148
  msgstr ""
149
 
150
- #: lib/class-settings-testimonials-widget.php:194
151
  msgid "Hide Testimonial Content?"
152
  msgstr ""
153
 
154
- #: lib/class-settings-testimonials-widget.php:199
155
  msgid "Hide Author/Source?"
156
  msgstr ""
157
 
158
- #: lib/class-settings-testimonials-widget.php:201
159
  msgid "Don't display \"Post Title\" in cite"
160
  msgstr ""
161
 
162
- #: lib/class-settings-testimonials-widget.php:205
163
  msgid "Hide Email?"
164
  msgstr ""
165
 
166
- #: lib/class-settings-testimonials-widget.php:211
167
  msgid "Hide Title?"
168
  msgstr ""
169
 
170
- #: lib/class-settings-testimonials-widget.php:216
171
  msgid "Hide Location?"
172
  msgstr ""
173
 
174
- #: lib/class-settings-testimonials-widget.php:221
175
  msgid "Hide Company?"
176
  msgstr ""
177
 
178
- #: lib/class-settings-testimonials-widget.php:226
179
  msgid "Hide URL?"
180
  msgstr ""
181
 
182
- #: lib/class-settings-testimonials-widget.php:231
183
  msgid "URL Target"
184
  msgstr ""
185
 
186
- #: lib/class-settings-testimonials-widget.php:232
187
  msgid "Add target to all URLs; leave blank if none"
188
  msgstr ""
189
 
190
- #: lib/class-settings-testimonials-widget.php:237
191
  msgid "Enable Paging?"
192
  msgstr ""
193
 
194
- #: lib/class-settings-testimonials-widget.php:238
195
  msgid "For `[testimonialswidget_list]`"
196
  msgstr ""
197
 
198
- #: lib/class-settings-testimonials-widget.php:241
199
  msgid "Disable"
200
  msgstr ""
201
 
202
- #: lib/class-settings-testimonials-widget.php:242
203
  msgid "Enable"
204
  msgstr ""
205
 
206
- #: lib/class-settings-testimonials-widget.php:243
207
  msgid "Before testimonials"
208
  msgstr ""
209
 
210
- #: lib/class-settings-testimonials-widget.php:244
211
  msgid "After testimonials"
212
  msgstr ""
213
 
214
- #: lib/class-settings-testimonials-widget.php:257
215
  msgid "Selection Options"
216
  msgstr ""
217
 
218
- #: lib/class-settings-testimonials-widget.php:263
219
  msgid "Category Filter"
220
  msgstr ""
221
 
222
- #: lib/class-settings-testimonials-widget.php:264
223
  msgid "Comma separated category slug-names. Ex: category-a, another-category"
224
  msgstr ""
225
 
226
- #: lib/class-settings-testimonials-widget.php:270
227
  msgid "Tags Filter"
228
  msgstr ""
229
 
230
- #: lib/class-settings-testimonials-widget.php:271
231
  msgid "Comma separated tag slug-names. Ex: tag-a, another-tag"
232
  msgstr ""
233
 
234
- #: lib/class-settings-testimonials-widget.php:277
235
  msgid "Require All Tags?"
236
  msgstr ""
237
 
238
- #: lib/class-settings-testimonials-widget.php:278
239
  msgid "Select only testimonials with all of the given tags"
240
  msgstr ""
241
 
242
- #: lib/class-settings-testimonials-widget.php:284
243
  msgid "Include IDs Filter"
244
  msgstr ""
245
 
246
- #: lib/class-settings-testimonials-widget.php:285
247
- #: lib/class-settings-testimonials-widget.php:292
248
  msgid "Comma separated testimonial IDs. Ex: 3,1,2"
249
  msgstr ""
250
 
251
- #: lib/class-settings-testimonials-widget.php:291
252
  msgid "Exclude IDs Filter"
253
  msgstr ""
254
 
255
- #: lib/class-settings-testimonials-widget.php:298
256
  msgid "Limit"
257
  msgstr ""
258
 
259
- #: lib/class-settings-testimonials-widget.php:299
260
  msgid "Number of testimonials to select per instance"
261
  msgstr ""
262
 
263
- #: lib/class-settings-testimonials-widget.php:312
264
  msgid "Ordering Options"
265
  msgstr ""
266
 
267
- #: lib/class-settings-testimonials-widget.php:318
268
  msgid "Random Order?"
269
  msgstr ""
270
 
271
- #: lib/class-settings-testimonials-widget.php:319
272
  msgid ""
273
  "If checked, ignores ORDER BY, ORDER BY meta_key, and ORDER BY Order. Widgets "
274
  "are random by default automatically"
275
  msgstr ""
276
 
277
- #: lib/class-settings-testimonials-widget.php:325
278
  msgid "ORDER BY"
279
  msgstr ""
280
 
281
- #: lib/class-settings-testimonials-widget.php:326
282
  msgid "Used when \"Random Order\" is disabled"
283
  msgstr ""
284
 
285
- #: lib/class-settings-testimonials-widget.php:329
286
  msgid "Testimonial ID"
287
  msgstr ""
288
 
289
- #: lib/class-settings-testimonials-widget.php:330
290
  msgid "Author"
291
  msgstr ""
292
 
293
- #: lib/class-settings-testimonials-widget.php:331 testimonials-widget.php:450
294
  msgid "Date"
295
  msgstr ""
296
 
297
- #: lib/class-settings-testimonials-widget.php:332
298
  msgid "Menu Order"
299
  msgstr ""
300
 
301
- #: lib/class-settings-testimonials-widget.php:333 testimonials-widget.php:440
302
  msgid "Source"
303
  msgstr ""
304
 
305
- #: lib/class-settings-testimonials-widget.php:334
306
  msgid "No order"
307
  msgstr ""
308
 
309
- #: lib/class-settings-testimonials-widget.php:342
310
  msgid "ORDER BY meta_key"
311
  msgstr ""
312
 
313
- #: lib/class-settings-testimonials-widget.php:343
314
  msgid ""
315
  "Used when \"Random Order\" is disabled and sorting by a testimonials meta "
316
  "key is needed. Overrides ORDER BY"
317
  msgstr ""
318
 
319
- #: lib/class-settings-testimonials-widget.php:346
320
  msgid "None"
321
  msgstr ""
322
 
323
- #: lib/class-settings-testimonials-widget.php:347 testimonials-widget.php:442
324
- #: testimonials-widget.php:1416
325
  msgid "Title"
326
  msgstr ""
327
 
328
- #: lib/class-settings-testimonials-widget.php:348 testimonials-widget.php:444
329
- #: testimonials-widget.php:1428
330
  msgid "Email"
331
  msgstr ""
332
 
333
- #: lib/class-settings-testimonials-widget.php:349 testimonials-widget.php:443
334
- #: testimonials-widget.php:1422
335
  msgid "Location"
336
  msgstr ""
337
 
338
- #: lib/class-settings-testimonials-widget.php:350 testimonials-widget.php:445
339
- #: testimonials-widget.php:1434
340
  msgid "Company"
341
  msgstr ""
342
 
343
- #: lib/class-settings-testimonials-widget.php:351 testimonials-widget.php:446
344
- #: testimonials-widget.php:1440
345
  msgid "URL"
346
  msgstr ""
347
 
348
- #: lib/class-settings-testimonials-widget.php:358
349
  msgid "ORDER BY Order"
350
  msgstr ""
351
 
352
- #: lib/class-settings-testimonials-widget.php:361
353
  msgid "Descending"
354
  msgstr ""
355
 
356
- #: lib/class-settings-testimonials-widget.php:362
357
  msgid "Ascending"
358
  msgstr ""
359
 
360
- #: lib/class-settings-testimonials-widget.php:376
361
- msgid "Debug Mode?"
362
- msgstr ""
363
-
364
- #: lib/class-settings-testimonials-widget.php:377
365
- msgid "Not implemented yet"
366
- msgstr ""
367
-
368
- #: lib/class-settings-testimonials-widget.php:385
369
  msgid "Allow Comments?"
370
  msgstr ""
371
 
372
- #: lib/class-settings-testimonials-widget.php:386
373
  msgid ""
374
  "Only affects the Testimonials Widget post edit page. Your theme controls the "
375
  "front-end view."
376
  msgstr ""
377
 
378
- #: lib/class-settings-testimonials-widget.php:391
379
- msgid ""
380
- "URL slug-name for <a href=\"%1s\">testimonials archive</a> page. After "
381
- "changing, you must click \"Save Changes\" on <a href=\"%2s\">Permalink "
382
- "Settings</a> to update them."
383
  msgstr ""
384
 
385
- #: lib/class-settings-testimonials-widget.php:398
386
  msgid "Archive Page URL"
387
  msgstr ""
388
 
389
- #: lib/class-settings-testimonials-widget.php:405
390
  msgid ""
391
- "URL slug-name for testimonial view pages. After changing, you must click "
392
- "\"Save Changes\" on <a href=\"%1s\">Permalink Settings</a> to update them."
393
  msgstr ""
394
 
395
- #: lib/class-settings-testimonials-widget.php:409
396
  msgid "Testimonial Page URL"
397
  msgstr ""
398
 
399
- #: lib/class-settings-testimonials-widget.php:419
400
  msgid "Compatiblity Options"
401
  msgstr ""
402
 
403
- #: lib/class-settings-testimonials-widget.php:425
404
  msgid "Remove `.hentry` CSS?"
405
  msgstr ""
406
 
407
- #: lib/class-settings-testimonials-widget.php:426
408
  msgid ""
409
  "Pre 2.6.4. Some themes use class `.hentry` in a manner that breaks "
410
  "Testimonials Widgets CSS"
411
  msgstr ""
412
 
413
- #: lib/class-settings-testimonials-widget.php:436
414
  msgid "Use `&lt;q&gt;` tag?"
415
  msgstr ""
416
 
417
- #: lib/class-settings-testimonials-widget.php:437
418
  msgid "Pre 2.11.0. Not HTML5 compliant"
419
  msgstr ""
420
 
421
- #: lib/class-settings-testimonials-widget.php:452
 
 
 
 
 
 
 
 
 
422
  msgid "Import/Export Settings"
423
  msgstr ""
424
 
425
- #: lib/class-settings-testimonials-widget.php:454
426
  msgid ""
427
  "These are your current settings in a text format. Copy the textarea contents "
428
  "to make a backup of your settings. You can paste new settings here to "
429
  "overwrite your current configuration."
430
  msgstr ""
431
 
432
- #: lib/class-settings-testimonials-widget.php:462
433
  msgid "Remove Plugin Data on Deletion?"
434
  msgstr ""
435
 
436
- #: lib/class-settings-testimonials-widget.php:465
437
  msgid ""
438
  "Delete all Testimonials Widget data and options from database on plugin "
439
  "deletion"
440
  msgstr ""
441
 
442
- #: lib/class-settings-testimonials-widget.php:471
443
  msgid "Reset to Defaults?"
444
  msgstr ""
445
 
446
- #: lib/class-settings-testimonials-widget.php:474
447
  msgid "Check this box to reset options to their defaults"
448
  msgstr ""
449
 
450
- #: lib/class-settings-testimonials-widget.php:540
451
- #: lib/class-settings-testimonials-widget.php:577
452
  msgid "Testimonials Widget Settings"
453
  msgstr ""
454
 
455
- #: lib/class-settings-testimonials-widget.php:540 testimonials-widget.php:65
456
  msgid "Settings"
457
  msgstr ""
458
 
459
- #: lib/class-settings-testimonials-widget.php:596
460
  msgid "Save Changes"
461
  msgstr ""
462
 
463
- #: lib/class-settings-testimonials-widget.php:607
464
  msgid "Copyright &copy;%1$s %2$s."
465
  msgstr ""
466
 
467
- #: lib/class-settings-testimonials-widget.php:973
468
  msgid "Required"
469
  msgstr ""
470
 
@@ -472,7 +470,7 @@ msgstr ""
472
  msgid "Display testimonials with multiple selection and display options"
473
  msgstr ""
474
 
475
- #. #-#-#-#-# testimonials-widget.pot (Testimonials Widget 2.12.1) #-#-#-#-#
476
  #. Plugin Name of the plugin/theme
477
  #: lib/class-testimonials-widget-widget.php:37
478
  msgid "Testimonials Widget"
@@ -490,134 +488,136 @@ msgstr ""
490
  msgid "Expand/Collapse"
491
  msgstr ""
492
 
493
- #: testimonials-widget.php:184
494
- msgid "Deleting Testimonials Widget plugin will remove all data and settings."
495
- msgstr ""
496
-
497
- #: testimonials-widget.php:265
498
  msgid ""
499
  "If your Testimonials Widget display has gone to funky town, please <a href="
500
  "\"%s\">read the FAQ</a> about possible CSS fixes."
501
  msgstr ""
502
 
503
- #: testimonials-widget.php:439
 
 
 
 
 
 
504
  msgid "Image"
505
  msgstr ""
506
 
507
- #: testimonials-widget.php:441
508
  msgid "Shortcodes"
509
  msgstr ""
510
 
511
- #: testimonials-widget.php:447
512
  msgid "Published by"
513
  msgstr ""
514
 
515
- #: testimonials-widget.php:448
516
  msgid "Category"
517
  msgstr ""
518
 
519
- #: testimonials-widget.php:449
520
  msgid "Tags"
521
  msgstr ""
522
 
523
- #: testimonials-widget.php:461
524
  msgid "Add New"
525
  msgstr ""
526
 
527
- #: testimonials-widget.php:462 testimonials-widget.php:465
528
  msgid "Add New Testimonial"
529
  msgstr ""
530
 
531
- #: testimonials-widget.php:463
532
  msgid "Edit Testimonial"
533
  msgstr ""
534
 
535
- #: testimonials-widget.php:466 testimonials-widget.php:731
536
  msgid "No testimonials found"
537
  msgstr ""
538
 
539
- #: testimonials-widget.php:467
540
  msgid "No testimonials found in Trash"
541
  msgstr ""
542
 
543
- #: testimonials-widget.php:469
544
  msgid "Search Testimonials"
545
  msgstr ""
546
 
547
- #: testimonials-widget.php:470
548
  msgid "Testimonial"
549
  msgstr ""
550
 
551
- #: testimonials-widget.php:471
552
  msgid "View Testimonial"
553
  msgstr ""
554
 
555
- #: testimonials-widget.php:849
556
  msgid "…"
557
  msgstr ""
558
 
559
- #: testimonials-widget.php:1174
560
  msgid "&laquo;"
561
  msgstr ""
562
 
563
- #: testimonials-widget.php:1183
564
  msgid "&raquo;"
565
  msgstr ""
566
 
567
- #: testimonials-widget.php:1452
568
  msgid "Testimonial Data"
569
  msgstr ""
570
 
571
- #: testimonials-widget.php:1477
572
  msgid "Enter title here"
573
  msgstr ""
574
 
575
- #: testimonials-widget.php:1478
576
  msgid "Enter testimonial source here"
577
  msgstr ""
578
 
579
- #: testimonials-widget.php:1503
580
  msgid "Testimonial updated. <a href=\"%s\">View testimonial</a>"
581
  msgstr ""
582
 
583
- #: testimonials-widget.php:1504
584
  msgid "Custom field updated."
585
  msgstr ""
586
 
587
- #: testimonials-widget.php:1505
588
  msgid "Custom field deleted."
589
  msgstr ""
590
 
591
- #: testimonials-widget.php:1506
592
  msgid "Testimonial updated."
593
  msgstr ""
594
 
595
  #. translators: %s: date and time of the revision
596
- #: testimonials-widget.php:1508
597
  msgid "Testimonial restored to revision from %s"
598
  msgstr ""
599
 
600
- #: testimonials-widget.php:1509
601
  msgid "Testimonial published. <a href=\"%s\">View testimonial</a>"
602
  msgstr ""
603
 
604
- #: testimonials-widget.php:1510
605
  msgid "Testimonial saved."
606
  msgstr ""
607
 
608
- #: testimonials-widget.php:1511
609
  msgid ""
610
  "Testimonial submitted. <a target=\"_blank\" href=\"%s\">Preview testimonial</"
611
  "a>"
612
  msgstr ""
613
 
614
- #: testimonials-widget.php:1512
615
  msgid ""
616
  "Testimonial scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href="
617
  "\"%2$s\">Preview testimonial</a>"
618
  msgstr ""
619
 
620
- #: testimonials-widget.php:1513
621
  msgid ""
622
  "Testimonial draft updated. <a target=\"_blank\" href=\"%s\">Preview "
623
  "testimonial</a>"
2
  # This file is distributed under the same license as the Testimonials Widget package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Testimonials Widget 2.12.2\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/testimonials-widget\n"
7
+ "POT-Creation-Date: 2013-05-06 03:50:04+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
28
  msgid "Widget"
29
  msgstr ""
30
 
31
+ #: lib/class-settings-testimonials-widget.php:68
32
  msgid "Post Type"
33
  msgstr ""
34
 
35
+ #: lib/class-settings-testimonials-widget.php:69
36
  msgid "Compatibility & Reset"
37
  msgstr ""
38
 
39
+ #: lib/class-settings-testimonials-widget.php:70
40
  msgid "About Testimonials Widget"
41
  msgstr ""
42
 
43
+ #: lib/class-settings-testimonials-widget.php:85
44
  msgid "Widget Title"
45
  msgstr ""
46
 
47
+ #: lib/class-settings-testimonials-widget.php:86 testimonials-widget.php:487
48
+ #: testimonials-widget.php:532
49
  msgid "Testimonials"
50
  msgstr ""
51
 
52
+ #: lib/class-settings-testimonials-widget.php:92
53
  msgid "Title Link"
54
  msgstr ""
55
 
56
+ #: lib/class-settings-testimonials-widget.php:93
57
  msgid "URL or Post ID to link widget title to. Ex: 123 or http://example.com"
58
  msgstr ""
59
 
60
+ #: lib/class-settings-testimonials-widget.php:99
61
  msgid "Character Limit"
62
  msgstr ""
63
 
64
+ #: lib/class-settings-testimonials-widget.php:100
65
  msgid "Number of characters to limit non-single testimonial views to"
66
  msgstr ""
67
 
68
+ #: lib/class-settings-testimonials-widget.php:106
69
  msgid "Height"
70
  msgstr ""
71
 
72
+ #: lib/class-settings-testimonials-widget.php:107
73
  msgid "Testimonials height, in pixels. Overrides minimum and maximum height"
74
  msgstr ""
75
 
76
+ #: lib/class-settings-testimonials-widget.php:113
77
  msgid "Rotation Speed"
78
  msgstr ""
79
 
80
+ #: lib/class-settings-testimonials-widget.php:114
81
  msgid ""
82
  "Number of seconds between testimonial rotations or 0 for no rotation at all "
83
  "refresh"
84
  msgstr ""
85
 
86
+ #: lib/class-settings-testimonials-widget.php:121
87
  msgid "Additional Widget Options"
88
  msgstr ""
89
 
90
+ #: lib/class-settings-testimonials-widget.php:127
91
  msgid "Keep Whitespace?"
92
  msgstr ""
93
 
94
+ #: lib/class-settings-testimonials-widget.php:128
95
  msgid "Keeps testimonials looking as entered than sans auto-formatting"
96
  msgstr ""
97
 
98
+ #: lib/class-settings-testimonials-widget.php:134
99
  msgid "Minimum Height"
100
  msgstr ""
101
 
102
+ #: lib/class-settings-testimonials-widget.php:135
103
  msgid "Set for minimum display height, in pixels"
104
  msgstr ""
105
 
106
+ #: lib/class-settings-testimonials-widget.php:141
107
  msgid "Maximum Height"
108
  msgstr ""
109
 
110
+ #: lib/class-settings-testimonials-widget.php:142
111
  msgid "Set for maximum display height, in pixels"
112
  msgstr ""
113
 
114
+ #: lib/class-settings-testimonials-widget.php:148
115
  msgid "Testimonial Bottom Text"
116
  msgstr ""
117
 
118
+ #: lib/class-settings-testimonials-widget.php:149
119
  msgid "Custom text or HTML for bottom of testimonials"
120
  msgstr ""
121
 
122
+ #: lib/class-settings-testimonials-widget.php:161
123
  msgid "General Options"
124
  msgstr ""
125
 
126
+ #: lib/class-settings-testimonials-widget.php:166
127
  msgid "Hide built-in quotes?"
128
  msgstr ""
129
 
130
+ #: lib/class-settings-testimonials-widget.php:167
131
  msgid "Remove open and close quote span tags surrounding testimonial content"
132
  msgstr ""
133
 
134
+ #: lib/class-settings-testimonials-widget.php:172
135
  msgid "Hide \"Testimonials Not Found\"?"
136
  msgstr ""
137
 
138
+ #: lib/class-settings-testimonials-widget.php:177
139
  msgid "Hide Gravatar Image?"
140
  msgstr ""
141
 
142
+ #: lib/class-settings-testimonials-widget.php:182
143
  msgid "Hide Image?"
144
  msgstr ""
145
 
146
+ #: lib/class-settings-testimonials-widget.php:187
147
  msgid "Hide Image in Single View?"
148
  msgstr ""
149
 
150
+ #: lib/class-settings-testimonials-widget.php:193
151
  msgid "Hide Testimonial Content?"
152
  msgstr ""
153
 
154
+ #: lib/class-settings-testimonials-widget.php:198
155
  msgid "Hide Author/Source?"
156
  msgstr ""
157
 
158
+ #: lib/class-settings-testimonials-widget.php:200
159
  msgid "Don't display \"Post Title\" in cite"
160
  msgstr ""
161
 
162
+ #: lib/class-settings-testimonials-widget.php:204
163
  msgid "Hide Email?"
164
  msgstr ""
165
 
166
+ #: lib/class-settings-testimonials-widget.php:210
167
  msgid "Hide Title?"
168
  msgstr ""
169
 
170
+ #: lib/class-settings-testimonials-widget.php:215
171
  msgid "Hide Location?"
172
  msgstr ""
173
 
174
+ #: lib/class-settings-testimonials-widget.php:220
175
  msgid "Hide Company?"
176
  msgstr ""
177
 
178
+ #: lib/class-settings-testimonials-widget.php:225
179
  msgid "Hide URL?"
180
  msgstr ""
181
 
182
+ #: lib/class-settings-testimonials-widget.php:230
183
  msgid "URL Target"
184
  msgstr ""
185
 
186
+ #: lib/class-settings-testimonials-widget.php:231
187
  msgid "Add target to all URLs; leave blank if none"
188
  msgstr ""
189
 
190
+ #: lib/class-settings-testimonials-widget.php:236
191
  msgid "Enable Paging?"
192
  msgstr ""
193
 
194
+ #: lib/class-settings-testimonials-widget.php:237
195
  msgid "For `[testimonialswidget_list]`"
196
  msgstr ""
197
 
198
+ #: lib/class-settings-testimonials-widget.php:240
199
  msgid "Disable"
200
  msgstr ""
201
 
202
+ #: lib/class-settings-testimonials-widget.php:241
203
  msgid "Enable"
204
  msgstr ""
205
 
206
+ #: lib/class-settings-testimonials-widget.php:242
207
  msgid "Before testimonials"
208
  msgstr ""
209
 
210
+ #: lib/class-settings-testimonials-widget.php:243
211
  msgid "After testimonials"
212
  msgstr ""
213
 
214
+ #: lib/class-settings-testimonials-widget.php:256
215
  msgid "Selection Options"
216
  msgstr ""
217
 
218
+ #: lib/class-settings-testimonials-widget.php:262
219
  msgid "Category Filter"
220
  msgstr ""
221
 
222
+ #: lib/class-settings-testimonials-widget.php:263
223
  msgid "Comma separated category slug-names. Ex: category-a, another-category"
224
  msgstr ""
225
 
226
+ #: lib/class-settings-testimonials-widget.php:269
227
  msgid "Tags Filter"
228
  msgstr ""
229
 
230
+ #: lib/class-settings-testimonials-widget.php:270
231
  msgid "Comma separated tag slug-names. Ex: tag-a, another-tag"
232
  msgstr ""
233
 
234
+ #: lib/class-settings-testimonials-widget.php:276
235
  msgid "Require All Tags?"
236
  msgstr ""
237
 
238
+ #: lib/class-settings-testimonials-widget.php:277
239
  msgid "Select only testimonials with all of the given tags"
240
  msgstr ""
241
 
242
+ #: lib/class-settings-testimonials-widget.php:283
243
  msgid "Include IDs Filter"
244
  msgstr ""
245
 
246
+ #: lib/class-settings-testimonials-widget.php:284
247
+ #: lib/class-settings-testimonials-widget.php:291
248
  msgid "Comma separated testimonial IDs. Ex: 3,1,2"
249
  msgstr ""
250
 
251
+ #: lib/class-settings-testimonials-widget.php:290
252
  msgid "Exclude IDs Filter"
253
  msgstr ""
254
 
255
+ #: lib/class-settings-testimonials-widget.php:297
256
  msgid "Limit"
257
  msgstr ""
258
 
259
+ #: lib/class-settings-testimonials-widget.php:298
260
  msgid "Number of testimonials to select per instance"
261
  msgstr ""
262
 
263
+ #: lib/class-settings-testimonials-widget.php:311
264
  msgid "Ordering Options"
265
  msgstr ""
266
 
267
+ #: lib/class-settings-testimonials-widget.php:317
268
  msgid "Random Order?"
269
  msgstr ""
270
 
271
+ #: lib/class-settings-testimonials-widget.php:318
272
  msgid ""
273
  "If checked, ignores ORDER BY, ORDER BY meta_key, and ORDER BY Order. Widgets "
274
  "are random by default automatically"
275
  msgstr ""
276
 
277
+ #: lib/class-settings-testimonials-widget.php:324
278
  msgid "ORDER BY"
279
  msgstr ""
280
 
281
+ #: lib/class-settings-testimonials-widget.php:325
282
  msgid "Used when \"Random Order\" is disabled"
283
  msgstr ""
284
 
285
+ #: lib/class-settings-testimonials-widget.php:328
286
  msgid "Testimonial ID"
287
  msgstr ""
288
 
289
+ #: lib/class-settings-testimonials-widget.php:329
290
  msgid "Author"
291
  msgstr ""
292
 
293
+ #: lib/class-settings-testimonials-widget.php:330 testimonials-widget.php:473
294
  msgid "Date"
295
  msgstr ""
296
 
297
+ #: lib/class-settings-testimonials-widget.php:331
298
  msgid "Menu Order"
299
  msgstr ""
300
 
301
+ #: lib/class-settings-testimonials-widget.php:332 testimonials-widget.php:463
302
  msgid "Source"
303
  msgstr ""
304
 
305
+ #: lib/class-settings-testimonials-widget.php:333
306
  msgid "No order"
307
  msgstr ""
308
 
309
+ #: lib/class-settings-testimonials-widget.php:341
310
  msgid "ORDER BY meta_key"
311
  msgstr ""
312
 
313
+ #: lib/class-settings-testimonials-widget.php:342
314
  msgid ""
315
  "Used when \"Random Order\" is disabled and sorting by a testimonials meta "
316
  "key is needed. Overrides ORDER BY"
317
  msgstr ""
318
 
319
+ #: lib/class-settings-testimonials-widget.php:345
320
  msgid "None"
321
  msgstr ""
322
 
323
+ #: lib/class-settings-testimonials-widget.php:346 testimonials-widget.php:465
324
+ #: testimonials-widget.php:1497
325
  msgid "Title"
326
  msgstr ""
327
 
328
+ #: lib/class-settings-testimonials-widget.php:347 testimonials-widget.php:467
329
+ #: testimonials-widget.php:1509
330
  msgid "Email"
331
  msgstr ""
332
 
333
+ #: lib/class-settings-testimonials-widget.php:348 testimonials-widget.php:466
334
+ #: testimonials-widget.php:1503
335
  msgid "Location"
336
  msgstr ""
337
 
338
+ #: lib/class-settings-testimonials-widget.php:349 testimonials-widget.php:468
339
+ #: testimonials-widget.php:1515
340
  msgid "Company"
341
  msgstr ""
342
 
343
+ #: lib/class-settings-testimonials-widget.php:350 testimonials-widget.php:469
344
+ #: testimonials-widget.php:1521
345
  msgid "URL"
346
  msgstr ""
347
 
348
+ #: lib/class-settings-testimonials-widget.php:357
349
  msgid "ORDER BY Order"
350
  msgstr ""
351
 
352
+ #: lib/class-settings-testimonials-widget.php:360
353
  msgid "Descending"
354
  msgstr ""
355
 
356
+ #: lib/class-settings-testimonials-widget.php:361
357
  msgid "Ascending"
358
  msgstr ""
359
 
360
+ #: lib/class-settings-testimonials-widget.php:375
 
 
 
 
 
 
 
 
361
  msgid "Allow Comments?"
362
  msgstr ""
363
 
364
+ #: lib/class-settings-testimonials-widget.php:376
365
  msgid ""
366
  "Only affects the Testimonials Widget post edit page. Your theme controls the "
367
  "front-end view."
368
  msgstr ""
369
 
370
+ #: lib/class-settings-testimonials-widget.php:381
371
+ msgid "URL slug-name for <a href=\"%1s\">testimonials archive</a> page."
 
 
 
372
  msgstr ""
373
 
374
+ #: lib/class-settings-testimonials-widget.php:387
375
  msgid "Archive Page URL"
376
  msgstr ""
377
 
378
+ #: lib/class-settings-testimonials-widget.php:394
379
  msgid ""
380
+ "URL slug-name for testimonial view pages. Shouldn't be the same as Archive "
381
+ "Page URL."
382
  msgstr ""
383
 
384
+ #: lib/class-settings-testimonials-widget.php:398
385
  msgid "Testimonial Page URL"
386
  msgstr ""
387
 
388
+ #: lib/class-settings-testimonials-widget.php:408
389
  msgid "Compatiblity Options"
390
  msgstr ""
391
 
392
+ #: lib/class-settings-testimonials-widget.php:414
393
  msgid "Remove `.hentry` CSS?"
394
  msgstr ""
395
 
396
+ #: lib/class-settings-testimonials-widget.php:415
397
  msgid ""
398
  "Pre 2.6.4. Some themes use class `.hentry` in a manner that breaks "
399
  "Testimonials Widgets CSS"
400
  msgstr ""
401
 
402
+ #: lib/class-settings-testimonials-widget.php:425
403
  msgid "Use `&lt;q&gt;` tag?"
404
  msgstr ""
405
 
406
+ #: lib/class-settings-testimonials-widget.php:426
407
  msgid "Pre 2.11.0. Not HTML5 compliant"
408
  msgstr ""
409
 
410
+ #: lib/class-settings-testimonials-widget.php:436
411
+ msgid "Don't Use Default Taxonomies?"
412
+ msgstr ""
413
+
414
+ #: lib/class-settings-testimonials-widget.php:438
415
+ msgid ""
416
+ "If checked, use Testimonials Widget's own category and tag taxonomies instead"
417
+ msgstr ""
418
+
419
+ #: lib/class-settings-testimonials-widget.php:449
420
  msgid "Import/Export Settings"
421
  msgstr ""
422
 
423
+ #: lib/class-settings-testimonials-widget.php:451
424
  msgid ""
425
  "These are your current settings in a text format. Copy the textarea contents "
426
  "to make a backup of your settings. You can paste new settings here to "
427
  "overwrite your current configuration."
428
  msgstr ""
429
 
430
+ #: lib/class-settings-testimonials-widget.php:459
431
  msgid "Remove Plugin Data on Deletion?"
432
  msgstr ""
433
 
434
+ #: lib/class-settings-testimonials-widget.php:462
435
  msgid ""
436
  "Delete all Testimonials Widget data and options from database on plugin "
437
  "deletion"
438
  msgstr ""
439
 
440
+ #: lib/class-settings-testimonials-widget.php:468
441
  msgid "Reset to Defaults?"
442
  msgstr ""
443
 
444
+ #: lib/class-settings-testimonials-widget.php:471
445
  msgid "Check this box to reset options to their defaults"
446
  msgstr ""
447
 
448
+ #: lib/class-settings-testimonials-widget.php:537
449
+ #: lib/class-settings-testimonials-widget.php:574
450
  msgid "Testimonials Widget Settings"
451
  msgstr ""
452
 
453
+ #: lib/class-settings-testimonials-widget.php:537 testimonials-widget.php:69
454
  msgid "Settings"
455
  msgstr ""
456
 
457
+ #: lib/class-settings-testimonials-widget.php:593
458
  msgid "Save Changes"
459
  msgstr ""
460
 
461
+ #: lib/class-settings-testimonials-widget.php:604
462
  msgid "Copyright &copy;%1$s %2$s."
463
  msgstr ""
464
 
465
+ #: lib/class-settings-testimonials-widget.php:984
466
  msgid "Required"
467
  msgstr ""
468
 
470
  msgid "Display testimonials with multiple selection and display options"
471
  msgstr ""
472
 
473
+ #. #-#-#-#-# testimonials-widget.pot (Testimonials Widget 2.12.2) #-#-#-#-#
474
  #. Plugin Name of the plugin/theme
475
  #: lib/class-testimonials-widget-widget.php:37
476
  msgid "Testimonials Widget"
488
  msgid "Expand/Collapse"
489
  msgstr ""
490
 
491
+ #: testimonials-widget.php:270
 
 
 
 
492
  msgid ""
493
  "If your Testimonials Widget display has gone to funky town, please <a href="
494
  "\"%s\">read the FAQ</a> about possible CSS fixes."
495
  msgstr ""
496
 
497
+ #: testimonials-widget.php:279
498
+ msgid ""
499
+ "Please donate $1 towards keeping Testimonials Widget plugin supported and "
500
+ "maintained %s"
501
+ msgstr ""
502
+
503
+ #: testimonials-widget.php:462
504
  msgid "Image"
505
  msgstr ""
506
 
507
+ #: testimonials-widget.php:464
508
  msgid "Shortcodes"
509
  msgstr ""
510
 
511
+ #: testimonials-widget.php:470
512
  msgid "Published by"
513
  msgstr ""
514
 
515
+ #: testimonials-widget.php:471
516
  msgid "Category"
517
  msgstr ""
518
 
519
+ #: testimonials-widget.php:472
520
  msgid "Tags"
521
  msgstr ""
522
 
523
+ #: testimonials-widget.php:484
524
  msgid "Add New"
525
  msgstr ""
526
 
527
+ #: testimonials-widget.php:485 testimonials-widget.php:488
528
  msgid "Add New Testimonial"
529
  msgstr ""
530
 
531
+ #: testimonials-widget.php:486
532
  msgid "Edit Testimonial"
533
  msgstr ""
534
 
535
+ #: testimonials-widget.php:489 testimonials-widget.php:786
536
  msgid "No testimonials found"
537
  msgstr ""
538
 
539
+ #: testimonials-widget.php:490
540
  msgid "No testimonials found in Trash"
541
  msgstr ""
542
 
543
+ #: testimonials-widget.php:492
544
  msgid "Search Testimonials"
545
  msgstr ""
546
 
547
+ #: testimonials-widget.php:493
548
  msgid "Testimonial"
549
  msgstr ""
550
 
551
+ #: testimonials-widget.php:494
552
  msgid "View Testimonial"
553
  msgstr ""
554
 
555
+ #: testimonials-widget.php:904
556
  msgid "…"
557
  msgstr ""
558
 
559
+ #: testimonials-widget.php:1229
560
  msgid "&laquo;"
561
  msgstr ""
562
 
563
+ #: testimonials-widget.php:1238
564
  msgid "&raquo;"
565
  msgstr ""
566
 
567
+ #: testimonials-widget.php:1533
568
  msgid "Testimonial Data"
569
  msgstr ""
570
 
571
+ #: testimonials-widget.php:1558
572
  msgid "Enter title here"
573
  msgstr ""
574
 
575
+ #: testimonials-widget.php:1559
576
  msgid "Enter testimonial source here"
577
  msgstr ""
578
 
579
+ #: testimonials-widget.php:1584
580
  msgid "Testimonial updated. <a href=\"%s\">View testimonial</a>"
581
  msgstr ""
582
 
583
+ #: testimonials-widget.php:1585
584
  msgid "Custom field updated."
585
  msgstr ""
586
 
587
+ #: testimonials-widget.php:1586
588
  msgid "Custom field deleted."
589
  msgstr ""
590
 
591
+ #: testimonials-widget.php:1587
592
  msgid "Testimonial updated."
593
  msgstr ""
594
 
595
  #. translators: %s: date and time of the revision
596
+ #: testimonials-widget.php:1589
597
  msgid "Testimonial restored to revision from %s"
598
  msgstr ""
599
 
600
+ #: testimonials-widget.php:1590
601
  msgid "Testimonial published. <a href=\"%s\">View testimonial</a>"
602
  msgstr ""
603
 
604
+ #: testimonials-widget.php:1591
605
  msgid "Testimonial saved."
606
  msgstr ""
607
 
608
+ #: testimonials-widget.php:1592
609
  msgid ""
610
  "Testimonial submitted. <a target=\"_blank\" href=\"%s\">Preview testimonial</"
611
  "a>"
612
  msgstr ""
613
 
614
+ #: testimonials-widget.php:1593
615
  msgid ""
616
  "Testimonial scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href="
617
  "\"%2$s\">Preview testimonial</a>"
618
  msgstr ""
619
 
620
+ #: testimonials-widget.php:1594
621
  msgid ""
622
  "Testimonial draft updated. <a target=\"_blank\" href=\"%s\">Preview "
623
  "testimonial</a>"
lib/class-settings-testimonials-widget.php CHANGED
@@ -65,7 +65,6 @@ class Testimonials_Widget_Settings {
65
  self::$sections['selection'] = __( 'Selection', 'testimonials-widget' );
66
  self::$sections['ordering'] = __( 'Ordering', 'testimonials-widget' );
67
  self::$sections['widget'] = __( 'Widget', 'testimonials-widget' );
68
- // self::$sections['testing'] = __( 'Testing', 'testimonials-widget' );
69
  self::$sections['post_type'] = __( 'Post Type', 'testimonials-widget' );
70
  self::$sections['reset'] = __( 'Compatibility & Reset', 'testimonials-widget' );
71
  self::$sections['about'] = __( 'About Testimonials Widget', 'testimonials-widget' );
@@ -370,15 +369,6 @@ class Testimonials_Widget_Settings {
370
  'type' => 'expand_end',
371
  );
372
 
373
- // Debug
374
- self::$settings['debug_mode'] = array(
375
- 'section' => 'testing',
376
- 'title' => __( 'Debug Mode?', 'testimonials-widget' ),
377
- 'desc' => __( 'Not implemented yet', 'testimonials-widget' ),
378
- 'type' => 'checkbox',
379
- 'widget' => 0,
380
- );
381
-
382
  // Post Type
383
  self::$settings['allow_comments'] = array(
384
  'section' => 'post_type',
@@ -388,26 +378,25 @@ class Testimonials_Widget_Settings {
388
  'widget' => 0,
389
  );
390
 
391
- $desc = __( 'URL slug-name for <a href="%1s">testimonials archive</a> page. After changing, you must click "Save Changes" on <a href="%2s">Permalink Settings</a> to update them.', 'testimonials-widget' );
392
  $has_archive = tw_get_option( 'has_archive', '' );
393
  $site_url = site_url( '/' . $has_archive );
394
- $url = admin_url( 'options-permalink.php' );
395
 
396
  self::$settings['has_archive'] = array(
397
  'section' => 'post_type',
398
  'title' => __( 'Archive Page URL', 'testimonials-widget' ),
399
- 'desc' => sprintf( $desc, $site_url, $url ),
400
  'std' => 'testimonials-archive',
401
  'validate' => 'sanitize_title',
402
  'widget' => 0,
403
  );
404
 
405
- $desc = __( 'URL slug-name for testimonial view pages. After changing, you must click "Save Changes" on <a href="%1s">Permalink Settings</a> to update them.', 'testimonials-widget' );
406
 
407
  self::$settings['rewrite_slug'] = array(
408
  'section' => 'post_type',
409
  'title' => __( 'Testimonial Page URL', 'testimonials-widget' ),
410
- 'desc' => sprintf( $desc, $url ),
411
  'std' => 'testimonial',
412
  'validate' => 'sanitize_title',
413
  'widget' => 0,
@@ -442,6 +431,14 @@ class Testimonials_Widget_Settings {
442
  ),
443
  );
444
 
 
 
 
 
 
 
 
 
445
  $options = get_option( self::ID );
446
  if ( ! empty( $options ) ) {
447
  $serialized_options = serialize( $options );
@@ -815,7 +812,7 @@ EOD;
815
  $defaults = self::get_defaults( 'backwards' );
816
  $current = get_option( self::ID );
817
  $current = wp_parse_args( $current, $defaults );
818
- $current['admin_notices'] = true;
819
  $current['version'] = self::$version;
820
 
821
  update_option( self::ID, $current );
@@ -862,20 +859,22 @@ EOD;
862
  $options = self::get_settings();
863
  $defaults = self::get_defaults();
864
 
865
- if ( ! empty( $input['reset_defaults'] ) ) {
866
- foreach ( $defaults as $id => $std ) {
867
- $input[$id] = $std;
868
- }
 
869
 
870
- unset( $input['reset_defaults'] );
871
- }
872
 
873
- if ( ! empty( $input['importexport'] ) && $_SESSION['importexport'] != $input['importexport'] ) {
874
- $importexport = $input['importexport'];
875
- $unserialized = unserialize( $importexport );
876
- if ( is_array( $unserialized ) ) {
877
- foreach ( $unserialized as $id => $std )
878
- $input[$id] = $std;
 
879
  }
880
  }
881
  }
@@ -921,6 +920,18 @@ EOD;
921
  }
922
  }
923
 
 
 
 
 
 
 
 
 
 
 
 
 
924
  $input['version'] = self::$version;
925
  $input = apply_filters( 'testimonials_widget_validate_settings', $input, $errors );
926
  unset( $input['importexport'] );
@@ -976,14 +987,17 @@ EOD;
976
 
977
  case 'slug':
978
  $input[ $id ] = self::validate_slug( $input[ $id ], $default );
 
979
  break;
980
 
981
  case 'slugs':
982
  $input[ $id ] = self::validate_slugs( $input[ $id ], $default );
 
983
  break;
984
 
985
  case 'term':
986
  $input[ $id ] = self::validate_term( $input[ $id ], $default );
 
987
  break;
988
 
989
  default:
@@ -1054,9 +1068,6 @@ EOD;
1054
  }
1055
 
1056
 
1057
- $Testimonials_Widget_Settings = new Testimonials_Widget_Settings();
1058
-
1059
-
1060
  function tw_get_options() {
1061
  $options = get_option( Testimonials_Widget_Settings::ID );
1062
 
65
  self::$sections['selection'] = __( 'Selection', 'testimonials-widget' );
66
  self::$sections['ordering'] = __( 'Ordering', 'testimonials-widget' );
67
  self::$sections['widget'] = __( 'Widget', 'testimonials-widget' );
 
68
  self::$sections['post_type'] = __( 'Post Type', 'testimonials-widget' );
69
  self::$sections['reset'] = __( 'Compatibility & Reset', 'testimonials-widget' );
70
  self::$sections['about'] = __( 'About Testimonials Widget', 'testimonials-widget' );
369
  'type' => 'expand_end',
370
  );
371
 
 
 
 
 
 
 
 
 
 
372
  // Post Type
373
  self::$settings['allow_comments'] = array(
374
  'section' => 'post_type',
378
  'widget' => 0,
379
  );
380
 
381
+ $desc = __( 'URL slug-name for <a href="%1s">testimonials archive</a> page.', 'testimonials-widget' );
382
  $has_archive = tw_get_option( 'has_archive', '' );
383
  $site_url = site_url( '/' . $has_archive );
 
384
 
385
  self::$settings['has_archive'] = array(
386
  'section' => 'post_type',
387
  'title' => __( 'Archive Page URL', 'testimonials-widget' ),
388
+ 'desc' => sprintf( $desc, $site_url ),
389
  'std' => 'testimonials-archive',
390
  'validate' => 'sanitize_title',
391
  'widget' => 0,
392
  );
393
 
394
+ $desc = __( 'URL slug-name for testimonial view pages. Shouldn\'t be the same as Archive Page URL.', 'testimonials-widget' );
395
 
396
  self::$settings['rewrite_slug'] = array(
397
  'section' => 'post_type',
398
  'title' => __( 'Testimonial Page URL', 'testimonials-widget' ),
399
+ 'desc' => $desc,
400
  'std' => 'testimonial',
401
  'validate' => 'sanitize_title',
402
  'widget' => 0,
431
  ),
432
  );
433
 
434
+ self::$settings['use_cpt_taxonomy'] = array(
435
+ 'section' => 'reset',
436
+ 'title' => __( 'Don\'t Use Default Taxonomies?', 'testimonials-widget' ),
437
+ 'type' => 'checkbox',
438
+ 'desc' => __( 'If checked, use Testimonials Widget\'s own category and tag taxonomies instead', 'testimonials-widget' ),
439
+ 'widget' => 0,
440
+ );
441
+
442
  $options = get_option( self::ID );
443
  if ( ! empty( $options ) ) {
444
  $serialized_options = serialize( $options );
812
  $defaults = self::get_defaults( 'backwards' );
813
  $current = get_option( self::ID );
814
  $current = wp_parse_args( $current, $defaults );
815
+ $current['admin_notices'] = tw_get_option( 'version', self::$version );
816
  $current['version'] = self::$version;
817
 
818
  update_option( self::ID, $current );
859
  $options = self::get_settings();
860
  $defaults = self::get_defaults();
861
 
862
+ if ( is_admin() ) {
863
+ if ( ! empty( $input['reset_defaults'] ) ) {
864
+ foreach ( $defaults as $id => $std ) {
865
+ $input[$id] = $std;
866
+ }
867
 
868
+ unset( $input['reset_defaults'] );
869
+ }
870
 
871
+ if ( ! empty( $input['importexport'] ) && $_SESSION['importexport'] != $input['importexport'] ) {
872
+ $importexport = $input['importexport'];
873
+ $unserialized = unserialize( $importexport );
874
+ if ( is_array( $unserialized ) ) {
875
+ foreach ( $unserialized as $id => $std )
876
+ $input[$id] = $std;
877
+ }
878
  }
879
  }
880
  }
920
  }
921
  }
922
 
923
+ // same has_archive and rewrite_slug causes problems
924
+ if ( $input['has_archive'] == $input['rewrite_slug'] ) {
925
+ $input['rewrite_slug'] = $defaults['rewrite_slug'];
926
+ }
927
+
928
+ // did URL slugs change?
929
+ $has_archive = tw_get_option( 'has_archive' );
930
+ $rewrite_slug = tw_get_option( 'rewrite_slug' );
931
+ if ( $has_archive != $input['has_archive'] || $rewrite_slug != $input['rewrite_slug'] ) {
932
+ flush_rewrite_rules();
933
+ }
934
+
935
  $input['version'] = self::$version;
936
  $input = apply_filters( 'testimonials_widget_validate_settings', $input, $errors );
937
  unset( $input['importexport'] );
987
 
988
  case 'slug':
989
  $input[ $id ] = self::validate_slug( $input[ $id ], $default );
990
+ $input[ $id ] = strtolower( $input[ $id ] );
991
  break;
992
 
993
  case 'slugs':
994
  $input[ $id ] = self::validate_slugs( $input[ $id ], $default );
995
+ $input[ $id ] = strtolower( $input[ $id ] );
996
  break;
997
 
998
  case 'term':
999
  $input[ $id ] = self::validate_term( $input[ $id ], $default );
1000
+ $input[ $id ] = strtolower( $input[ $id ] );
1001
  break;
1002
 
1003
  default:
1068
  }
1069
 
1070
 
 
 
 
1071
  function tw_get_options() {
1072
  $options = get_option( Testimonials_Widget_Settings::ID );
1073
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: http://aihr.us/about-aihrus/donate/
5
  Tags: client, customer, quotations, quote, quotes, random, review, quote, recommendation, reference, testimonial, testimonials, testimony, widget, wpml
6
  Requires at least: 3.4
7
  Tested up to: 3.6.0
8
- Stable tag: 2.12.1
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -31,11 +31,12 @@ The single testimonial view supports image, source, title, location, email, comp
31
  * Fields for source, testimonial, image, title, location, email, company and URL details
32
  * Filters to manipulate testimonials output
33
  * Multiple paging options for testimonials listings
34
- * Settings screen for site-wide option defaults
35
  * Settings export/import
 
36
  * Shortcodes and theme functions for listings and rotation
37
  * Single testimonial view includes image, source, title, location, email, company and URL details
38
  * Testimonials archive view
 
39
 
40
  = Testimonials Widget Premium Plugin Features =
41
 
@@ -44,6 +45,7 @@ Testimonials Widget Premium plugin extends the best [Testimonials Widget](http:/
44
  * "Read more" link column on testimonial posts admin page
45
  * Alternate destinations for "Read more" links
46
  * Alternating `.even` and `.odd` CSS classes for styling testimonial list entries
 
47
  * Built-in update notification
48
  * Caching of testimonials queries and content to decrease server load time improve page loading speed by 1/10 to 1/2 a second
49
  * Deactivates self if no active or incorrect version of Testimonials Widget plugin
@@ -57,6 +59,7 @@ Testimonials Widget Premium plugin extends the best [Testimonials Widget](http:/
57
  * Plugin version tracking to ensure compatibility
58
  * Premium tab on settings screen for site-wide option defaults
59
  * Prevent duplicate testimonials when using multiple testimonial instances
 
60
  * Read more links for testimonials exceeding the character limit
61
  * Select only testimonials with excerpts, images or of arbitrary maximum and minimum length
62
  * Select post, page and other custom post types for content rotations
@@ -216,6 +219,8 @@ Further, global settings are the baseline for shortcodes. If you want to alter t
216
  * `remove_hentry` - default none; remove_hentry=true
217
  * Use `<q>` tag? – Pre 2.11.0. Not HTML5 compliant
218
  * `use_quote_tag` - default none; use_quote_tag=true
 
 
219
  * Remove Plugin Data on Deletion? - Delete all Testimonials Widget data and options from database on plugin deletion
220
  * Reset to Defaults? – Check this box to reset options to their defaults
221
 
@@ -330,30 +335,6 @@ Please visit the [Testimonials Widget Knowledge Base](https://aihrus.zendesk.com
330
 
331
  Please visit the [Testimonials Widget Knowledge Base](https://aihrus.zendesk.com/categories/20104507-Testimonials-Widget) for frequently asked questions, offering ideas, or getting support.
332
 
333
- = Latest Major Changes =
334
-
335
- * New Features
336
- * Options
337
- * Remove Plugin Data on Deletion? - Delete all Testimonials Widget data and options from database on plugin deletion
338
- * Settings export/import
339
- * CSS class names are simplified and now WordPress coding standards compliant
340
- * For the most part, other than `testimonialswidget_testimonial` remove `testimonialswidget_` from the CSS class name in your CSS customizations.
341
- * Ex: `.testimonialswidget_join` becomes `.join`
342
- * Ex: `.testimonialswidget_author` becomes `.author`
343
- * CSS and JavaScript renaming
344
- * `bottom_text` renamed to `bottom-text`
345
- * `close_quote` renamed to `close-quote`
346
- * `display_none` renamed to `display-none`
347
- * `join_location` renamed to `join-location`
348
- * `join_title` renamed to `join-title`
349
- * `open_quote` renamed to `open-quote`
350
- * `testimonialswidget_testimonial` renamed to `testimonials-widget-testimonial`
351
- * `testimonialswidget_testimonials` renamed to `testimonials-widget-testimonials`
352
- * Testimonials are now formatted using `blockquote` than `q` for HTML5 compliance. If you need `q` tag formatting, enable it at WP Admin > Testimonials > Settings, Compatibility & Reset tab
353
- * `cite` is now `div.credit`
354
- * Filters
355
- * Rename `testimonials_widget_next_posts_link` to `testimonials_widget_next_posts_link_text`
356
-
357
 
358
  == Screenshots ==
359
 
5
  Tags: client, customer, quotations, quote, quotes, random, review, quote, recommendation, reference, testimonial, testimonials, testimony, widget, wpml
6
  Requires at least: 3.4
7
  Tested up to: 3.6.0
8
+ Stable tag: 2.12.2
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
31
  * Fields for source, testimonial, image, title, location, email, company and URL details
32
  * Filters to manipulate testimonials output
33
  * Multiple paging options for testimonials listings
 
34
  * Settings export/import
35
+ * Settings screen for site-wide option defaults
36
  * Shortcodes and theme functions for listings and rotation
37
  * Single testimonial view includes image, source, title, location, email, company and URL details
38
  * Testimonials archive view
39
+ * Use custom taxonomy or WordPress's own for categories and tags
40
 
41
  = Testimonials Widget Premium Plugin Features =
42
 
45
  * "Read more" link column on testimonial posts admin page
46
  * Alternate destinations for "Read more" links
47
  * Alternating `.even` and `.odd` CSS classes for styling testimonial list entries
48
+ * Auto flush URLs cache if archive or testimonial slugs change
49
  * Built-in update notification
50
  * Caching of testimonials queries and content to decrease server load time improve page loading speed by 1/10 to 1/2 a second
51
  * Deactivates self if no active or incorrect version of Testimonials Widget plugin
59
  * Plugin version tracking to ensure compatibility
60
  * Premium tab on settings screen for site-wide option defaults
61
  * Prevent duplicate testimonials when using multiple testimonial instances
62
+ * Prevents same has_archive and rewrite_slug which causes URL problems
63
  * Read more links for testimonials exceeding the character limit
64
  * Select only testimonials with excerpts, images or of arbitrary maximum and minimum length
65
  * Select post, page and other custom post types for content rotations
219
  * `remove_hentry` - default none; remove_hentry=true
220
  * Use `<q>` tag? – Pre 2.11.0. Not HTML5 compliant
221
  * `use_quote_tag` - default none; use_quote_tag=true
222
+ * Don't Use Default Taxonomies? – If checked, use Testimonials Widget's own category and tag taxonomies instead
223
+ * Import/Export Settings – These are your current settings in a text format. Copy the textarea contents to make a backup of your settings. You can paste new settings here to overwrite your current configuration.
224
  * Remove Plugin Data on Deletion? - Delete all Testimonials Widget data and options from database on plugin deletion
225
  * Reset to Defaults? – Check this box to reset options to their defaults
226
 
335
 
336
  Please visit the [Testimonials Widget Knowledge Base](https://aihrus.zendesk.com/categories/20104507-Testimonials-Widget) for frequently asked questions, offering ideas, or getting support.
337
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
338
 
339
  == Screenshots ==
340
 
testimonials-widget.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Testimonials Widget
4
  * Plugin URI: http://wordpress.org/extend/plugins/testimonials-widget/
5
  * Description: Testimonials Widget plugin allows you to display random or selected portfolio, quotes, reviews, showcases, or text with images on your WordPress blog.
6
- * Version: 2.12.1
7
  * Author: Michael Cannon
8
  * Author URI: http://aihr.us/about-aihrus/michael-cannon-resume/
9
  * License: GPLv2 or later
@@ -27,18 +27,22 @@ require_once 'lib/class-settings-testimonials-widget.php';
27
 
28
 
29
  class Testimonials_Widget {
30
- const ID = 'testimonials-widget-testimonials';
31
- const OLD_NAME = 'testimonialswidget';
32
- const PT = 'testimonials-widget';
33
- const VERSION = '2.12.1';
 
34
 
35
  private static $base = null;
36
  private static $max_num_pages = 0;
37
  private static $post_count = 0;
38
  private static $wp_query = null;
39
 
 
 
40
  public static $css = array();
41
  public static $css_called = false;
 
42
  public static $instance_number = 0;
43
  public static $scripts = array();
44
  public static $scripts_called = false;
@@ -78,6 +82,17 @@ class Testimonials_Widget {
78
 
79
 
80
  public function init() {
 
 
 
 
 
 
 
 
 
 
 
81
  add_filter( 'the_content', array( &$this, 'get_single' ) );
82
  self::$base = plugin_basename( __FILE__ );
83
  self::init_post_type();
@@ -178,16 +193,6 @@ class Testimonials_Widget {
178
  }
179
 
180
 
181
- function notice_uninstall() {
182
- $content = '';
183
- $content .= '<div class="error"><p>';
184
- $content .= __( 'Deleting Testimonials Widget plugin will remove all data and settings.', 'testimonials-widget' );
185
- $content .= '</p></div>';
186
-
187
- echo $content;
188
- }
189
-
190
-
191
  public function uninstall() {
192
  if ( ! current_user_can( 'activate_plugins' ) )
193
  return;
@@ -202,6 +207,7 @@ class Testimonials_Widget {
202
  $delete_data = tw_get_option( 'delete_data', false );
203
  if ( $delete_data ) {
204
  delete_option( Testimonials_Widget_Settings::ID );
 
205
  $wpdb->query( 'OPTIMIZE TABLE `' . $wpdb->options . '`' );
206
 
207
  self::delete_testimonials();
@@ -259,10 +265,18 @@ class Testimonials_Widget {
259
  }
260
 
261
 
262
- public function admin_notices() {
263
- $content = '';
264
- $content .= '<div class="error"><p>';
265
- $content .= sprintf( __( 'If your Testimonials Widget display has gone to funky town, please <a href="%s">read the FAQ</a> about possible CSS fixes.', 'testimonials-widget-premium', 'testimonials-widget' ), 'http://wordpress.org/extend/plugins/testimonials-widget/faq/' );
 
 
 
 
 
 
 
 
266
  $content .= '</p></div>';
267
 
268
  echo $content;
@@ -270,12 +284,21 @@ class Testimonials_Widget {
270
 
271
 
272
  public function update() {
273
- $admin_notices = tw_get_option( 'admin_notices' );
274
- if ( $admin_notices ) {
275
- add_action( 'admin_notices', array( $this, 'admin_notices' ) );
 
 
 
276
  tw_set_option( 'admin_notices' );
277
  }
278
 
 
 
 
 
 
 
279
  $options = get_option( self::OLD_NAME );
280
 
281
  // testimonials already migrated?
@@ -481,13 +504,30 @@ class Testimonials_Widget {
481
  if ( $allow_comments )
482
  $supports[] = 'comments';
483
 
484
- $has_archive = tw_get_option( 'has_archive', true );
485
- $rewrite_slug = tw_get_option( 'rewrite_slug', 'testimonial' );
 
486
 
487
  // editor's and up
488
  if ( current_user_can( 'edit_others_posts' ) )
489
  $supports[] = 'author';
490
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
491
  $args = array(
492
  'label' => __( 'Testimonials', 'testimonials-widget' ),
493
  'capability_type' => 'post',
@@ -504,13 +544,28 @@ class Testimonials_Widget {
504
  'show_in_menu' => true,
505
  'show_ui' => true,
506
  'supports' => $supports,
507
- 'taxonomies' => array(
508
- 'category',
509
- 'post_tag',
510
- )
511
  );
512
 
513
- register_post_type( Testimonials_Widget::PT, $args );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
514
  }
515
 
516
 
@@ -1285,17 +1340,43 @@ EOF;
1285
  $args['post__not_in'] = $exclude;
1286
  }
1287
 
1288
- if ( $category ) {
1289
- $args['category_name'] = $category;
1290
- }
 
 
1291
 
1292
- if ( $tags ) {
1293
- $tags = explode( ',', $tags );
1294
 
1295
- if ( $tags_all ) {
1296
- $args['tag_slug__and'] = $tags;
1297
- } else {
1298
- $args['tag_slug__in'] = $tags;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1299
  }
1300
  }
1301
 
@@ -1520,7 +1601,12 @@ EOF;
1520
  }
1521
 
1522
 
1523
- $Testimonials_Widget = new Testimonials_Widget();
 
 
 
 
 
1524
 
1525
 
1526
  function testimonialswidget_list( $atts = array() ) {
3
  * Plugin Name: Testimonials Widget
4
  * Plugin URI: http://wordpress.org/extend/plugins/testimonials-widget/
5
  * Description: Testimonials Widget plugin allows you to display random or selected portfolio, quotes, reviews, showcases, or text with images on your WordPress blog.
6
+ * Version: 2.12.2
7
  * Author: Michael Cannon
8
  * Author URI: http://aihr.us/about-aihrus/michael-cannon-resume/
9
  * License: GPLv2 or later
27
 
28
 
29
  class Testimonials_Widget {
30
+ const ID = 'testimonials-widget-testimonials';
31
+ const OLD_NAME = 'testimonialswidget';
32
+ const PLUGIN_FILE = 'testimonials-widget/testimonials-widget.php';
33
+ const PT = 'testimonials-widget';
34
+ const VERSION = '2.12.2';
35
 
36
  private static $base = null;
37
  private static $max_num_pages = 0;
38
  private static $post_count = 0;
39
  private static $wp_query = null;
40
 
41
+ public static $cpt_category = '';
42
+ public static $cpt_tags = '';
43
  public static $css = array();
44
  public static $css_called = false;
45
+ public static $donate_button = '';
46
  public static $instance_number = 0;
47
  public static $scripts = array();
48
  public static $scripts_called = false;
82
 
83
 
84
  public function init() {
85
+ self::$cpt_category = self::PT . '-category';
86
+ self::$cpt_tags = self::PT . '-post_tag';
87
+ self::$donate_button = <<<EOD
88
+ <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
89
+ <input type="hidden" name="cmd" value="_s-xclick">
90
+ <input type="hidden" name="hosted_button_id" value="WM4F995W9LHXE">
91
+ <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
92
+ <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
93
+ </form>
94
+ EOD;
95
+
96
  add_filter( 'the_content', array( &$this, 'get_single' ) );
97
  self::$base = plugin_basename( __FILE__ );
98
  self::init_post_type();
193
  }
194
 
195
 
 
 
 
 
 
 
 
 
 
 
196
  public function uninstall() {
197
  if ( ! current_user_can( 'activate_plugins' ) )
198
  return;
207
  $delete_data = tw_get_option( 'delete_data', false );
208
  if ( $delete_data ) {
209
  delete_option( Testimonials_Widget_Settings::ID );
210
+ delete_option( self::OLD_NAME );
211
  $wpdb->query( 'OPTIMIZE TABLE `' . $wpdb->options . '`' );
212
 
213
  self::delete_testimonials();
265
  }
266
 
267
 
268
+ public function admin_notices_2_12_0() {
269
+ $content = '<div class="updated"><p>';
270
+ $content .= sprintf( __( 'If your Testimonials Widget display has gone to funky town, please <a href="%s">read the FAQ</a> about possible CSS fixes.', 'testimonials-widget' ), 'https://aihrus.zendesk.com/entries/23722573-Major-Changes-Since-2-10-0' );
271
+ $content .= '</p></div>';
272
+
273
+ echo $content;
274
+ }
275
+
276
+
277
+ public function admin_notices_donate() {
278
+ $content = '<div class="updated"><p>';
279
+ $content .= sprintf( __( 'Please donate $1 towards keeping Testimonials Widget plugin supported and maintained %s', 'testimonials-widget' ), self::$donate_button );
280
  $content .= '</p></div>';
281
 
282
  echo $content;
284
 
285
 
286
  public function update() {
287
+ $prior_version = tw_get_option( 'admin_notices' );
288
+ if ( $prior_version ) {
289
+ if ( $prior_version < '2.12.0' ) {
290
+ add_action( 'admin_notices', array( $this, 'admin_notices_2_12_0' ) );
291
+ }
292
+
293
  tw_set_option( 'admin_notices' );
294
  }
295
 
296
+ $donate_version = tw_get_option( 'donate_version', false );
297
+ if ( ! $donate_version || ( $donate_version != self::VERSION && preg_match( '#\.0$#', self::VERSION ) ) ) {
298
+ add_action( 'admin_notices', array( $this, 'admin_notices_donate' ) );
299
+ tw_set_option( 'donate_version', self::VERSION );
300
+ }
301
+
302
  $options = get_option( self::OLD_NAME );
303
 
304
  // testimonials already migrated?
504
  if ( $allow_comments )
505
  $supports[] = 'comments';
506
 
507
+ $has_archive = tw_get_option( 'has_archive', true );
508
+ $rewrite_slug = tw_get_option( 'rewrite_slug', 'testimonial' );
509
+ $use_cpt_taxonomy = tw_get_option( 'use_cpt_taxonomy', false );
510
 
511
  // editor's and up
512
  if ( current_user_can( 'edit_others_posts' ) )
513
  $supports[] = 'author';
514
 
515
+ if ( ! $use_cpt_taxonomy ) {
516
+ $do_register_taxonomy = false;
517
+ $taxonomies = array(
518
+ 'category',
519
+ 'post_tag',
520
+ );
521
+ } else {
522
+ self::register_taxonomies();
523
+
524
+ $do_register_taxonomy = true;
525
+ $taxonomies = array(
526
+ self::$cpt_category,
527
+ self::$cpt_tags,
528
+ );
529
+ }
530
+
531
  $args = array(
532
  'label' => __( 'Testimonials', 'testimonials-widget' ),
533
  'capability_type' => 'post',
544
  'show_in_menu' => true,
545
  'show_ui' => true,
546
  'supports' => $supports,
547
+ 'taxonomies' => $taxonomies,
 
 
 
548
  );
549
 
550
+ register_post_type( self::PT, $args );
551
+
552
+ if ( $do_register_taxonomy ) {
553
+ register_taxonomy_for_object_type( self::$cpt_category, self::PT );
554
+ register_taxonomy_for_object_type( self::$cpt_tags, self::PT );
555
+ }
556
+ }
557
+
558
+
559
+ public static function register_taxonomies() {
560
+ $args = array(
561
+ 'hierarchical' => true,
562
+ );
563
+ register_taxonomy( self::$cpt_category, self::PT, $args );
564
+
565
+ $args = array(
566
+ 'update_count_callback' => '_update_post_term_count',
567
+ );
568
+ register_taxonomy( self::$cpt_tags, self::PT, $args );
569
  }
570
 
571
 
1340
  $args['post__not_in'] = $exclude;
1341
  }
1342
 
1343
+ $use_cpt_taxonomy = tw_get_option( 'use_cpt_taxonomy', false );
1344
+ if ( ! $use_cpt_taxonomy ) {
1345
+ if ( $category ) {
1346
+ $args['category_name'] = $category;
1347
+ }
1348
 
1349
+ if ( $tags ) {
1350
+ $tags = explode( ',', $tags );
1351
 
1352
+ if ( $tags_all ) {
1353
+ $args['tag_slug__and'] = $tags;
1354
+ } else {
1355
+ $args['tag_slug__in'] = $tags;
1356
+ }
1357
+ }
1358
+ } else {
1359
+ if ( $category ) {
1360
+ $args[ self::$cpt_category ] = $category;
1361
+ }
1362
+
1363
+ if ( $tags ) {
1364
+ if ( $tags_all ) {
1365
+ $args[ 'tax_query' ] = array(
1366
+ 'relation' => 'AND',
1367
+ );
1368
+
1369
+ $tags = explode( ',', $tags );
1370
+ foreach ( $tags as $term ) {
1371
+ $args[ 'tax_query' ][] = array(
1372
+ 'taxonomy' => self::$cpt_tags,
1373
+ 'terms' => array( $term ),
1374
+ 'field' => 'slug',
1375
+ );
1376
+ }
1377
+ } else {
1378
+ $args[ self::$cpt_tags ] = $tags;
1379
+ }
1380
  }
1381
  }
1382
 
1601
  }
1602
 
1603
 
1604
+ include_once ABSPATH . 'wp-admin/includes/plugin.php';
1605
+ if ( is_plugin_active( Testimonials_Widget::PLUGIN_FILE ) ) {
1606
+ $Testimonials_Widget = new Testimonials_Widget();
1607
+ $Testimonials_Widget_Settings = new Testimonials_Widget_Settings();
1608
+ }
1609
+
1610
 
1611
 
1612
  function testimonialswidget_list( $atts = array() ) {