PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.33.1
MailPoet – Newsletters, Email Marketing, and Automation v5.33.1
5.37.0 5.36.1 5.36.0 5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / lib / Newsletter / Shortcodes / ShortcodesHelper.php
mailpoet / lib / Newsletter / Shortcodes Last commit date
Categories 3 months ago Shortcodes.php 3 months ago ShortcodesHelper.php 3 months ago index.php 3 years ago
ShortcodesHelper.php
156 lines
1 <?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
2
3 namespace MailPoet\Newsletter\Shortcodes;
4
5 if (!defined('ABSPATH')) exit;
6
7
8 use MailPoet\CustomFields\CustomFieldsRepository;
9 use MailPoet\Entities\NewsletterLinkEntity;
10
11 class ShortcodesHelper {
12 /** @var CustomFieldsRepository */
13 private $customFieldsRepository;
14
15 public function __construct(
16 CustomFieldsRepository $customFieldsRepository
17 ) {
18 $this->customFieldsRepository = $customFieldsRepository;
19 }
20
21 public function getShortcodes(): array {
22 $shortcodes = [
23 __('Subscriber', 'mailpoet') => [
24 [
25 'text' => __('First Name', 'mailpoet'),
26 'shortcode' => '[subscriber:firstname | default:reader]',
27 ],
28 [
29 'text' => __('Last Name', 'mailpoet'),
30 'shortcode' => '[subscriber:lastname | default:reader]',
31 ],
32 [
33 'text' => __('Email Address', 'mailpoet'),
34 'shortcode' => '[subscriber:email]',
35 ],
36 [
37 'text' => __('WordPress User Display Name', 'mailpoet'),
38 'shortcode' => '[subscriber:displayname | default:member]',
39 ],
40 [
41 'text' => __('Total Number of Subscribers', 'mailpoet'),
42 'shortcode' => '[subscriber:count]',
43 ],
44 ],
45 __('Newsletter', 'mailpoet') => [
46 [
47 'text' => __('Newsletter Subject', 'mailpoet'),
48 'shortcode' => '[newsletter:subject]',
49 ],
50 ],
51 __('Post Notifications', 'mailpoet') => [
52 [
53 'text' => __('Total Number of Posts or Pages', 'mailpoet'),
54 'shortcode' => '[newsletter:total]',
55 ],
56 [
57 'text' => __('Most Recent Post Title', 'mailpoet'),
58 'shortcode' => '[newsletter:post_title]',
59 ],
60 [
61 'text' => __('Issue Number', 'mailpoet'),
62 'shortcode' => '[newsletter:number]',
63 ],
64 ],
65 __('Date', 'mailpoet') => [
66 [
67 'text' => __('Current day of the month number', 'mailpoet'),
68 'shortcode' => '[date:d]',
69 ],
70 [
71 'text' => __('Current day of the month in ordinal form, i.e. 2nd, 3rd, 4th, etc.', 'mailpoet'),
72 'shortcode' => '[date:dordinal]',
73 ],
74 [
75 'text' => __('Full name of current day', 'mailpoet'),
76 'shortcode' => '[date:dtext]',
77 ],
78 [
79 'text' => __('Current month number', 'mailpoet'),
80 'shortcode' => '[date:m]',
81 ],
82 [
83 'text' => __('Full name of current month', 'mailpoet'),
84 'shortcode' => '[date:mtext]',
85 ],
86 [
87 'text' => __('Year', 'mailpoet'),
88 'shortcode' => '[date:y]',
89 ],
90 ],
91 __('Links', 'mailpoet') => [
92 [
93 'text' => __('Unsubscribe link', 'mailpoet'),
94 'shortcode' => sprintf(
95 '<a target="_blank" href="%s">%s</a>',
96 NewsletterLinkEntity::UNSUBSCRIBE_LINK_SHORT_CODE,
97 __('Unsubscribe', 'mailpoet')
98 ),
99 ],
100 [
101 'text' => __('Edit subscription page link', 'mailpoet'),
102 'shortcode' => sprintf(
103 '<a target="_blank" href="%s">%s</a>',
104 '[link:subscription_manage_url]',
105 __('Manage subscription', 'mailpoet')
106 ),
107 ],
108 [
109 'text' => __('View in browser link', 'mailpoet'),
110 'shortcode' => sprintf(
111 '<a target="_blank" href="%s">%s</a>',
112 '[link:newsletter_view_in_browser_url]',
113 __('View in your browser', 'mailpoet')
114 ),
115 ],
116 ],
117 __('Site', 'mailpoet') => [
118 [
119 'text' => __('Site title', 'mailpoet'),
120 'shortcode' => '[site:title]',
121 ],
122 [
123 'text' => __('Homepage link', 'mailpoet'),
124 'shortcode' => sprintf(
125 '<a target="_blank" href="%s">%s</a>',
126 '[site:homepage_url]',
127 '[site:title]'
128 ),
129 ],
130 [
131 'text' => __('Homepage URL', 'mailpoet'),
132 'shortcode' => '[site:homepage_url]',
133 ],
134 ],
135 ];
136 $customFields = $this->getCustomFields();
137 if (count($customFields) > 0) {
138 $shortcodes[__('Subscriber', 'mailpoet')] = array_merge(
139 $shortcodes[__('Subscriber', 'mailpoet')],
140 $customFields
141 );
142 }
143 return $shortcodes;
144 }
145
146 public function getCustomFields(): array {
147 $customFields = $this->customFieldsRepository->findAllActive();
148 return array_map(function($customField) {
149 return [
150 'text' => $customField->getName(),
151 'shortcode' => '[subscriber:cf_' . $customField->getId() . ']',
152 ];
153 }, $customFields);
154 }
155 }
156