Child Themify - Version 1.1

Version Description

Download this release

Release Info

Developer JohnPBloch
Plugin Icon wp plugin Child Themify
Version 1.1
Comparing to
See all releases

Code changes from version 1.0.4 to 1.1

assets/js/legacy.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Child Themify - v1.0.4
2
  * Copyright (c) 2014 John P. Bloch */
3
  (function (window, l10n) {
4
  if (typeof l10n.link !== 'string' || l10n.link.length < 1) {
1
+ /*! Child Themify - v1.1
2
  * Copyright (c) 2014 John P. Bloch */
3
  (function (window, l10n) {
4
  if (typeof l10n.link !== 'string' || l10n.link.length < 1) {
assets/js/legacy.min.js CHANGED
@@ -1,3 +1,3 @@
1
- /*! Child Themify - v1.0.4
2
  * Copyright (c) 2014 John P. Bloch */
3
  !function(a,b){if(!("string"!=typeof b.link||b.link.length<1)){var c,d,e,f,g=a.document,h=g.getElementById("customize-current-theme-link");if(h){h=h.parentNode;for(c in h.childNodes)if(h.childNodes.hasOwnProperty(c)&&void 0!==h.childNodes[c].nodeName&&"UL"===h.childNodes[c].nodeName.toUpperCase()){d=h.childNodes[c];break}d&&(f=g.createElement("a"),f.appendChild(g.createTextNode(b.createAChildTheme)),f.href=b.link,e=g.createElement("li"),e.appendChild(f),d.appendChild(e))}}}(window,window.childThemify);
1
+ /*! Child Themify - v1.1
2
  * Copyright (c) 2014 John P. Bloch */
3
  !function(a,b){if(!("string"!=typeof b.link||b.link.length<1)){var c,d,e,f,g=a.document,h=g.getElementById("customize-current-theme-link");if(h){h=h.parentNode;for(c in h.childNodes)if(h.childNodes.hasOwnProperty(c)&&void 0!==h.childNodes[c].nodeName&&"UL"===h.childNodes[c].nodeName.toUpperCase()){d=h.childNodes[c];break}d&&(f=g.createElement("a"),f.appendChild(g.createTextNode(b.createAChildTheme)),f.href=b.link,e=g.createElement("li"),e.appendChild(f),d.appendChild(e))}}}(window,window.childThemify);
child-themify.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  * Plugin Name: Child Themify
4
  * Description: Create child themes at the click of a button.
5
- * Version: 1.0.4
6
  * Plugin URI: https://github.com/johnpbloch/child-themify
7
  * Author: John P. Bloch
8
  * License: GPL-2.0+
@@ -10,7 +10,7 @@
10
 
11
  define( 'CTF_PATH', WP_PLUGIN_DIR . '/' . basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ) );
12
  define( 'CTF_URL', WP_PLUGIN_URL . '/' . basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ) );
13
- define( 'CTF_VERSION', '1.0.4' );
14
 
15
 
16
  function ctf_plugins_loaded() {
2
  /*
3
  * Plugin Name: Child Themify
4
  * Description: Create child themes at the click of a button.
5
+ * Version: 1.1
6
  * Plugin URI: https://github.com/johnpbloch/child-themify
7
  * Author: John P. Bloch
8
  * License: GPL-2.0+
10
 
11
  define( 'CTF_PATH', WP_PLUGIN_DIR . '/' . basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ) );
12
  define( 'CTF_URL', WP_PLUGIN_URL . '/' . basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ) );
13
+ define( 'CTF_VERSION', '1.1' );
14
 
15
 
16
  function ctf_plugins_loaded() {
includes/legacy.php CHANGED
@@ -10,7 +10,7 @@ class CTF_Babymaker {
10
  public static function getTested() {
11
  $theme = empty( $_GET['theme'] ) ? '' : $_GET['theme'];
12
  if ( ! self::fertile() ) {
13
- wp_die( __( 'You do not have permission to do that!', 'child-themify' ) );
14
  }
15
  check_admin_referer( self::nonce_name( $theme ), '_ctf_nonce' );
16
  }
@@ -60,6 +60,7 @@ class CTF_Babymaker {
60
  }
61
  if ( ! WP_Filesystem( $creds, get_theme_root() ) ) {
62
  request_filesystem_credentials( $url, '', true, get_theme_root(), array( 'new_theme' ) );
 
63
  return true;
64
  }
65
  self::procreate( $_POST['new_theme'], $theme );
@@ -84,6 +85,7 @@ class CTF_Babymaker {
84
  '_ctf_nonce' => self::nonce( $theme_name ),
85
  );
86
  $baseLink = is_multisite() ? network_admin_url( 'themes.php' ) : admin_url( 'themes.php' );
 
87
  return add_query_arg( $args, $baseLink );
88
  }
89
 
@@ -103,8 +105,9 @@ class CTF_Babymaker {
103
  return $links;
104
  }
105
  $link = self::getLink( $theme->get_stylesheet() );
106
- $html = sprintf( "<a href=\"$link\">%s</a>", __( 'Create a child theme', 'child-themify' ) );
107
  $links['child-themify'] = $html;
 
108
  return $links;
109
  }
110
 
@@ -119,13 +122,15 @@ class CTF_Babymaker {
119
  * @throws Exception If the global filesystem object isn't available
120
  */
121
  public static function procreate( $new_theme, WP_Theme $template ) {
 
122
  global $wp_filesystem;
123
  if ( ! ( $wp_filesystem instanceof WP_Filesystem_Base ) ) {
124
  if ( ! WP_Filesystem() ) {
125
- throw new Exception( __( 'Could not access the filesystem!', 'child-themify' ) );
126
  }
127
  }
128
  $oldStylesheet = $template->get_stylesheet();
 
129
  $oldName = $template->name;
130
  $new_theme_directory = trailingslashit( get_theme_root() ) . sanitize_file_name( strtolower( $new_theme ) );
131
  $wp_filesystem->mkdir( $new_theme_directory );
@@ -143,7 +148,10 @@ Template: $oldStylesheet
143
 
144
  EOF;
145
  $wp_filesystem->put_contents( $newStylesheet, $stylesheetContents );
146
- add_settings_error( '', 'child-themify', __( 'Your child theme was created successfully.', 'child-themify' ), 'updated' );
 
 
 
147
  }
148
 
149
  public static function load_themes_page() {
@@ -151,6 +159,7 @@ EOF;
151
  if ( ! is_multisite() ) {
152
  add_action( 'admin_footer', array( 'CTF_Babymaker', 'link_current_theme' ) );
153
  }
 
154
  return;
155
  }
156
  require ABSPATH . 'wp-admin/admin-header.php';
@@ -166,7 +175,7 @@ EOF;
166
  $filename .= defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? 'js' : 'min.js';
167
  wp_enqueue_script( 'child-themify', plugins_url( $filename, CTF_PATH ), array(), '1.0', true );
168
  wp_localize_script( 'child-themify', 'childThemify', array(
169
- 'createAChildTheme' => __( 'Create a child theme', 'child-themify' ),
170
  'link' => $link,
171
  ) );
172
  }
10
  public static function getTested() {
11
  $theme = empty( $_GET['theme'] ) ? '' : $_GET['theme'];
12
  if ( ! self::fertile() ) {
13
+ wp_die( esc_html__( 'You do not have permission to do that!', 'child-themify' ) );
14
  }
15
  check_admin_referer( self::nonce_name( $theme ), '_ctf_nonce' );
16
  }
60
  }
61
  if ( ! WP_Filesystem( $creds, get_theme_root() ) ) {
62
  request_filesystem_credentials( $url, '', true, get_theme_root(), array( 'new_theme' ) );
63
+
64
  return true;
65
  }
66
  self::procreate( $_POST['new_theme'], $theme );
85
  '_ctf_nonce' => self::nonce( $theme_name ),
86
  );
87
  $baseLink = is_multisite() ? network_admin_url( 'themes.php' ) : admin_url( 'themes.php' );
88
+
89
  return add_query_arg( $args, $baseLink );
90
  }
91
 
105
  return $links;
106
  }
107
  $link = self::getLink( $theme->get_stylesheet() );
108
+ $html = sprintf( "<a href=\"$link\">%s</a>", esc_html__( 'Create a child theme', 'child-themify' ) );
109
  $links['child-themify'] = $html;
110
+
111
  return $links;
112
  }
113
 
122
  * @throws Exception If the global filesystem object isn't available
123
  */
124
  public static function procreate( $new_theme, WP_Theme $template ) {
125
+ /** @var WP_Filesystem_Base $wp_filesystem */
126
  global $wp_filesystem;
127
  if ( ! ( $wp_filesystem instanceof WP_Filesystem_Base ) ) {
128
  if ( ! WP_Filesystem() ) {
129
+ throw new Exception( esc_html__( 'Could not access the filesystem!', 'child-themify' ) );
130
  }
131
  }
132
  $oldStylesheet = $template->get_stylesheet();
133
+ $templateDirectory = untrailingslashit( $template->get_stylesheet_directory() );
134
  $oldName = $template->name;
135
  $new_theme_directory = trailingslashit( get_theme_root() ) . sanitize_file_name( strtolower( $new_theme ) );
136
  $wp_filesystem->mkdir( $new_theme_directory );
148
 
149
  EOF;
150
  $wp_filesystem->put_contents( $newStylesheet, $stylesheetContents );
151
+ if ( file_exists( "$templateDirectory/screenshot.png" ) ) {
152
+ $wp_filesystem->copy( "$templateDirectory/screenshot.png", "$new_theme_directory/screenshot.png" );
153
+ }
154
+ add_settings_error( '', 'child-themify', esc_html__( 'Your child theme was created successfully.', 'child-themify' ), 'updated' );
155
  }
156
 
157
  public static function load_themes_page() {
159
  if ( ! is_multisite() ) {
160
  add_action( 'admin_footer', array( 'CTF_Babymaker', 'link_current_theme' ) );
161
  }
162
+
163
  return;
164
  }
165
  require ABSPATH . 'wp-admin/admin-header.php';
175
  $filename .= defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? 'js' : 'min.js';
176
  wp_enqueue_script( 'child-themify', plugins_url( $filename, CTF_PATH ), array(), '1.0', true );
177
  wp_localize_script( 'child-themify', 'childThemify', array(
178
+ 'createAChildTheme' => esc_html__( 'Create a child theme', 'child-themify' ),
179
  'link' => $link,
180
  ) );
181
  }
includes/plugin.php CHANGED
@@ -11,7 +11,7 @@ class Child_Themify {
11
  */
12
  public function isActionAllowed( WP_Theme $theme ) {
13
  if ( ! $this->checkCapability() ) {
14
- wp_die( __( 'You do not have permission to do that!', 'child-themify' ) );
15
  }
16
  check_admin_referer( $this->nonceName( $theme ), '_ctf_nonce' );
17
  }
@@ -48,6 +48,7 @@ class Child_Themify {
48
  if ( $theme ) {
49
  $nonce_name .= '_' . $theme->get_stylesheet();
50
  }
 
51
  return $nonce_name;
52
  }
53
 
@@ -70,8 +71,8 @@ class Child_Themify {
70
  <h2><?php echo esc_html( sprintf( _x( 'Create a child theme from %s', 'The placeholder is for a theme\'s name', 'child-themify' ), $theme->name ) ); ?></h2>
71
 
72
  <form method="post" action="<?php echo esc_url( $this->getLink( $theme ) ); ?>">
73
- <label><?php esc_html_e( 'Name your child theme', 'child-themify' ); ?></label><br>
74
- <input type="text" name="new_theme" />
75
  <?php submit_button( __( "Let's go!", 'child-themify' ) ); ?>
76
  </form>
77
  </div>
@@ -96,9 +97,12 @@ class Child_Themify {
96
  }
97
  if ( ! WP_Filesystem( $creds, get_theme_root() ) ) {
98
  request_filesystem_credentials( $url, '', true, get_theme_root(), array( 'new_theme' ) );
 
99
  return true;
100
  }
101
  $this->create( $_POST['new_theme'], $theme );
 
 
102
  }
103
 
104
  /**
@@ -119,6 +123,7 @@ class Child_Themify {
119
  'theme' => $theme->get_stylesheet(),
120
  '_ctf_nonce' => $this->nonce( $theme ),
121
  );
 
122
  return add_query_arg( $args, $this->getBaseLink() );
123
  }
124
 
@@ -150,9 +155,10 @@ class Child_Themify {
150
  return $links;
151
  }
152
  $link = $this->getLink( $theme );
153
- $html = sprintf( "<a href=\"$link\">%s</a>", __( 'Create a child theme', 'child-themify' ) );
154
 
155
  $links['child-themify'] = $html;
 
156
  return $links;
157
  }
158
 
@@ -167,13 +173,15 @@ class Child_Themify {
167
  * @throws Exception If the global filesystem object isn't available
168
  */
169
  public function create( $new_theme, WP_Theme $template ) {
 
170
  global $wp_filesystem;
171
  if ( ! ( $wp_filesystem instanceof WP_Filesystem_Base ) ) {
172
  if ( ! WP_Filesystem() ) {
173
- throw new Exception( __( 'Could not access the filesystem!', 'child-themify' ) );
174
  }
175
  }
176
  $oldStylesheet = $template->get_stylesheet();
 
177
  $oldName = $template->name;
178
  $new_theme_directory = trailingslashit( get_theme_root() ) . sanitize_file_name( strtolower( $new_theme ) );
179
  $wp_filesystem->mkdir( $new_theme_directory );
@@ -191,7 +199,10 @@ Template: $oldStylesheet
191
 
192
  EOF;
193
  $wp_filesystem->put_contents( $newStylesheet, $stylesheetContents );
194
- add_settings_error( '', 'child-themify', __( 'Your child theme was created successfully.', 'child-themify' ), 'updated' );
 
 
 
195
  }
196
 
197
  public function loadThemesPage() {
@@ -215,9 +226,7 @@ EOF;
215
  load_plugin_textdomain( 'child-themify', false, basename( dirname( __FILE__ ) ) . '/languages' );
216
  add_filter( 'theme_action_links', array( $this, 'addActionLink' ), 10, 2 );
217
  add_action( 'load-themes.php', array( $this, 'loadThemesPage' ) );
218
- if ( version_compare( $GLOBALS['wp_version'], '4.1.9', '<' ) ) {
219
- add_action( 'admin_footer-themes.php', array( $this, 'override_tmpl_theme_single' ) );
220
- }
221
  add_action( 'tmpl-theme-single_actions', array( $this, 'tmpl_theme_single_actions' ) );
222
  add_filter( 'wp_prepare_themes_for_js', array( $this, 'prepare_themes' ) );
223
  }
@@ -311,12 +320,13 @@ EOF;
311
  public function prepare_themes( $themes ) {
312
  if ( $this->checkCapability() ) {
313
  foreach ( $themes as $slug => $data ) {
314
- $theme = wp_get_theme( $slug );
315
- $download_link = $this->getLink( $theme );
316
 
317
- $themes[$slug]['actions']['childThemify'] = $download_link ? $download_link : false;
318
  }
319
  }
 
320
  return $themes;
321
  }
322
 
11
  */
12
  public function isActionAllowed( WP_Theme $theme ) {
13
  if ( ! $this->checkCapability() ) {
14
+ wp_die( esc_html__( 'You do not have permission to do that!', 'child-themify' ) );
15
  }
16
  check_admin_referer( $this->nonceName( $theme ), '_ctf_nonce' );
17
  }
48
  if ( $theme ) {
49
  $nonce_name .= '_' . $theme->get_stylesheet();
50
  }
51
+
52
  return $nonce_name;
53
  }
54
 
71
  <h2><?php echo esc_html( sprintf( _x( 'Create a child theme from %s', 'The placeholder is for a theme\'s name', 'child-themify' ), $theme->name ) ); ?></h2>
72
 
73
  <form method="post" action="<?php echo esc_url( $this->getLink( $theme ) ); ?>">
74
+ <label for="ctf_new_theme"><?php esc_html_e( 'Name your child theme', 'child-themify' ); ?></label><br>
75
+ <input type="text" name="new_theme" id="ctf_new_theme" />
76
  <?php submit_button( __( "Let's go!", 'child-themify' ) ); ?>
77
  </form>
78
  </div>
97
  }
98
  if ( ! WP_Filesystem( $creds, get_theme_root() ) ) {
99
  request_filesystem_credentials( $url, '', true, get_theme_root(), array( 'new_theme' ) );
100
+
101
  return true;
102
  }
103
  $this->create( $_POST['new_theme'], $theme );
104
+
105
+ return false;
106
  }
107
 
108
  /**
123
  'theme' => $theme->get_stylesheet(),
124
  '_ctf_nonce' => $this->nonce( $theme ),
125
  );
126
+
127
  return add_query_arg( $args, $this->getBaseLink() );
128
  }
129
 
155
  return $links;
156
  }
157
  $link = $this->getLink( $theme );
158
+ $html = sprintf( '<a href="%s">%s</a>', esc_url( $link ), esc_html__( 'Create a child theme', 'child-themify' ) );
159
 
160
  $links['child-themify'] = $html;
161
+
162
  return $links;
163
  }
164
 
173
  * @throws Exception If the global filesystem object isn't available
174
  */
175
  public function create( $new_theme, WP_Theme $template ) {
176
+ /** @var WP_Filesystem_Base $wp_filesystem */
177
  global $wp_filesystem;
178
  if ( ! ( $wp_filesystem instanceof WP_Filesystem_Base ) ) {
179
  if ( ! WP_Filesystem() ) {
180
+ throw new Exception( esc_html__( 'Could not access the filesystem!', 'child-themify' ) );
181
  }
182
  }
183
  $oldStylesheet = $template->get_stylesheet();
184
+ $templateDirectory = untrailingslashit( $template->get_stylesheet_directory() );
185
  $oldName = $template->name;
186
  $new_theme_directory = trailingslashit( get_theme_root() ) . sanitize_file_name( strtolower( $new_theme ) );
187
  $wp_filesystem->mkdir( $new_theme_directory );
199
 
200
  EOF;
201
  $wp_filesystem->put_contents( $newStylesheet, $stylesheetContents );
202
+ if ( file_exists( "$templateDirectory/screenshot.png" ) ) {
203
+ $wp_filesystem->copy( "$templateDirectory/screenshot.png", "$new_theme_directory/screenshot.png" );
204
+ }
205
+ add_settings_error( '', 'child-themify', esc_html__( 'Your child theme was created successfully.', 'child-themify' ), 'updated' );
206
  }
207
 
208
  public function loadThemesPage() {
226
  load_plugin_textdomain( 'child-themify', false, basename( dirname( __FILE__ ) ) . '/languages' );
227
  add_filter( 'theme_action_links', array( $this, 'addActionLink' ), 10, 2 );
228
  add_action( 'load-themes.php', array( $this, 'loadThemesPage' ) );
229
+ add_action( 'admin_footer-themes.php', array( $this, 'override_tmpl_theme_single' ) );
 
 
230
  add_action( 'tmpl-theme-single_actions', array( $this, 'tmpl_theme_single_actions' ) );
231
  add_filter( 'wp_prepare_themes_for_js', array( $this, 'prepare_themes' ) );
232
  }
320
  public function prepare_themes( $themes ) {
321
  if ( $this->checkCapability() ) {
322
  foreach ( $themes as $slug => $data ) {
323
+ $theme = wp_get_theme( $slug );
324
+ $link = $this->getLink( $theme );
325
 
326
+ $themes[ $slug ]['actions']['childThemify'] = $link ? $link : false;
327
  }
328
  }
329
+
330
  return $themes;
331
  }
332
 
languages/child-themify.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Child Themify package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Child Themify 1.0.4\n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/child-themify\n"
7
- "POT-Creation-Date: 2014-12-19 20:17:31+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -16,88 +16,87 @@ msgstr ""
16
  msgid "You do not have permission to do that!"
17
  msgstr ""
18
 
19
- #: includes/legacy.php:39 includes/plugin.php:70
20
  msgctxt "The placeholder is for a theme's name"
21
  msgid "Create a child theme from %s"
22
  msgstr ""
23
 
24
- #: includes/legacy.php:42 includes/plugin.php:73
25
  msgid "Name your child theme"
26
  msgstr ""
27
 
28
- #: includes/legacy.php:44 includes/plugin.php:75
29
  msgid "Let's go!"
30
  msgstr ""
31
 
32
- #: includes/legacy.php:106 includes/legacy.php:169 includes/plugin.php:153
33
- #: includes/plugin.php:305
34
  msgid "Create a child theme"
35
  msgstr ""
36
 
37
- #: includes/legacy.php:125 includes/plugin.php:173
38
  msgid "Could not access the filesystem!"
39
  msgstr ""
40
 
41
- #: includes/legacy.php:146 includes/plugin.php:194
42
  msgid "Your child theme was created successfully."
43
  msgstr ""
44
 
45
- #: includes/plugin.php:237
46
  msgid "Show previous theme"
47
  msgstr ""
48
 
49
- #: includes/plugin.php:238
50
  msgid "Show next theme"
51
  msgstr ""
52
 
53
- #: includes/plugin.php:239
54
  msgid "Close overlay"
55
  msgstr ""
56
 
57
- #: includes/plugin.php:254
58
  msgid "Current Theme"
59
  msgstr ""
60
 
61
- #: includes/plugin.php:256
62
  msgid "Version: %s"
63
  msgstr ""
64
 
65
- #: includes/plugin.php:257
66
  msgid "By %s"
67
  msgstr ""
68
 
69
- #: includes/plugin.php:261
70
  msgid "Update Available"
71
  msgstr ""
72
 
73
- #: includes/plugin.php:268
74
  msgid "This is a child theme of %s."
75
  msgstr ""
76
 
77
- #: includes/plugin.php:272
78
  msgid "Tags:"
79
  msgstr ""
80
 
81
- #: includes/plugin.php:279
82
  msgid "Customize"
83
  msgstr ""
84
 
85
- #: includes/plugin.php:285
86
  msgid "Activate"
87
  msgstr ""
88
 
89
- #: includes/plugin.php:287
90
  msgid "Live Preview"
91
  msgstr ""
92
 
93
- #: includes/plugin.php:288
94
  msgid "Preview"
95
  msgstr ""
96
 
97
- #: includes/plugin.php:293
98
  msgid "Delete"
99
  msgstr ""
100
-
101
  #. Plugin Name of the plugin/theme
102
  msgid "Child Themify"
103
  msgstr ""
2
  # This file is distributed under the same license as the Child Themify package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Child Themify 1.1\n"
6
+ "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/child-themify\n"
7
+ "POT-Creation-Date: 2014-12-20 17:08:52+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
16
  msgid "You do not have permission to do that!"
17
  msgstr ""
18
 
19
+ #: includes/legacy.php:39 includes/plugin.php:71
20
  msgctxt "The placeholder is for a theme's name"
21
  msgid "Create a child theme from %s"
22
  msgstr ""
23
 
24
+ #: includes/legacy.php:42 includes/plugin.php:74
25
  msgid "Name your child theme"
26
  msgstr ""
27
 
28
+ #: includes/legacy.php:44 includes/plugin.php:76
29
  msgid "Let's go!"
30
  msgstr ""
31
 
32
+ #: includes/legacy.php:108 includes/legacy.php:178 includes/plugin.php:158
33
+ #: includes/plugin.php:314
34
  msgid "Create a child theme"
35
  msgstr ""
36
 
37
+ #: includes/legacy.php:129 includes/plugin.php:180
38
  msgid "Could not access the filesystem!"
39
  msgstr ""
40
 
41
+ #: includes/legacy.php:154 includes/plugin.php:205
42
  msgid "Your child theme was created successfully."
43
  msgstr ""
44
 
45
+ #: includes/plugin.php:246
46
  msgid "Show previous theme"
47
  msgstr ""
48
 
49
+ #: includes/plugin.php:247
50
  msgid "Show next theme"
51
  msgstr ""
52
 
53
+ #: includes/plugin.php:248
54
  msgid "Close overlay"
55
  msgstr ""
56
 
57
+ #: includes/plugin.php:263
58
  msgid "Current Theme"
59
  msgstr ""
60
 
61
+ #: includes/plugin.php:265
62
  msgid "Version: %s"
63
  msgstr ""
64
 
65
+ #: includes/plugin.php:266
66
  msgid "By %s"
67
  msgstr ""
68
 
69
+ #: includes/plugin.php:270
70
  msgid "Update Available"
71
  msgstr ""
72
 
73
+ #: includes/plugin.php:277
74
  msgid "This is a child theme of %s."
75
  msgstr ""
76
 
77
+ #: includes/plugin.php:281
78
  msgid "Tags:"
79
  msgstr ""
80
 
81
+ #: includes/plugin.php:288
82
  msgid "Customize"
83
  msgstr ""
84
 
85
+ #: includes/plugin.php:294
86
  msgid "Activate"
87
  msgstr ""
88
 
89
+ #: includes/plugin.php:296
90
  msgid "Live Preview"
91
  msgstr ""
92
 
93
+ #: includes/plugin.php:297
94
  msgid "Preview"
95
  msgstr ""
96
 
97
+ #: includes/plugin.php:302
98
  msgid "Delete"
99
  msgstr ""
 
100
  #. Plugin Name of the plugin/theme
101
  msgid "Child Themify"
102
  msgstr ""
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: JohnPBloch
3
  Tags: themes, child, theme
4
  Requires at least: 3.4.2
5
  Tested up to: 4.1.9
6
- Stable tag: 1.0.4
7
  License: GPL-2.0+
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -23,7 +23,9 @@ This plugin is multisite compatible; if used on a multisite network, controls fo
23
 
24
  == Frequently Asked Questions ==
25
 
26
- None yet.
 
 
27
 
28
  == Screenshots ==
29
 
@@ -32,6 +34,11 @@ None yet.
32
 
33
  == Changelog ==
34
 
 
 
 
 
 
35
  = 1.0.4 =
36
  * Released: 2014-09-15
37
  * Added support for WordPress 4.0
@@ -55,5 +62,5 @@ None yet.
55
 
56
  == Upgrade Notice ==
57
 
58
- This version fixes 4.0 compatibility
59
 
3
  Tags: themes, child, theme
4
  Requires at least: 3.4.2
5
  Tested up to: 4.1.9
6
+ Stable tag: 1.1
7
  License: GPL-2.0+
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
23
 
24
  == Frequently Asked Questions ==
25
 
26
+ = Where can I get some help? =
27
+
28
+ I'd really prefer that you use [Github's issue tracker](https://github.com/johnpbloch/child-themify/issues/new). The [WordPress.org support forum for the plugin](https://wordpress.org/support/plugin/child-themify) will work too, it will just take longer.
29
 
30
  == Screenshots ==
31
 
34
 
35
  == Changelog ==
36
 
37
+ = 1.1.0 =
38
+ * Released: 2014-12-20
39
+ * Thumbnail now gets copied when you create a child theme
40
+ * Various other tweaks and security hardening
41
+
42
  = 1.0.4 =
43
  * Released: 2014-09-15
44
  * Added support for WordPress 4.0
62
 
63
  == Upgrade Notice ==
64
 
65
+ Minor release with tweaks and thumbnail support
66