Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix issues identified by the Theme Check plugin #844

Closed
rnagle opened this issue Aug 17, 2015 · 14 comments
Closed

Fix issues identified by the Theme Check plugin #844

rnagle opened this issue Aug 17, 2015 · 14 comments
Labels
Estimate: < 2 Hours priority: normal Must be completed before release of this version of plugin.

Comments

@rnagle
Copy link

rnagle commented Aug 17, 2015

Run the Theme Check plugin against a barebones Largo install to determine which issues need fixed.

@rnagle rnagle added the priority: normal Must be completed before release of this version of plugin. label Aug 17, 2015
@rnagle rnagle self-assigned this Aug 17, 2015
@rnagle rnagle added this to the 0.5.3 - Widgets milestone Aug 17, 2015
@aschweigert aschweigert modified the milestones: 0.6, 0.5.3 - Widgets Aug 21, 2015
@MsPseudolus
Copy link

Hey gang! I ran Theme Check and started going through what looked like 'low hanging fruit.' Would it be helpful to add the report here as a punch list that could be checked off as items get addressed? Not many are a big deal, but there are a couple that are considered to be potential security holes.

@benlk
Copy link
Collaborator

benlk commented Jul 5, 2016

Yes, that would be very helpful. If there are security holes, please open separate issues for those.

@MsPseudolus
Copy link

MsPseudolus commented Jul 5, 2016

Required items (clear 'violations' of WP coding standards)

  • REQUIRED: Text Domain: is missing from your style.css header.
  • REQUIRED: .screen-reader-text css class is needed in your theme css. See See: the Codex for an example implementation.
  • REQUIRED: The theme uses the register_post_type() function, which is plugin-territory functionality.
  • REQUIRED: The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output
  • REQUIRED: Please remove any extraneous directories like .git or .svn from the ZIP file before uploading it.
  • REQUIRED: Found a Customizer setting that did not have a sanitization callback function. Every call to the add_setting() method needs to have a sanitization callback function passed.

^^ Theme Check doesn't see sanitize_callback in the arrays like $settings

  • REQUIRED: update.php. Themes should use add_theme_page() for adding admin pages.
    Line 875: add_submenu_page(
  • REQUIRED: screen_icon() found in the file options-framework.php. Deprecated since version 3.8.
    Line 232: <?php screen_icon( 'themes' ); ?>

^^ The Options Framework theme/library appears to have been significantly rewritten since it was first included with Largo, including removing any use of screen_icon -- https://github.com/devinsays/options-framework-theme . Seems like the way forward here is to either update to the latest version or if possible move this stuff to the customizer api?

  • REQUIRED: get_currentuserinfo() found in the file users.php. Deprecated since version 4.5. Use wp_get_current_user instead.

^^ PR 1291 updates get_currentuserinfo() to wp_get_current_user

Line 144: get_currentuserinfo();

  • REQUIRED: clean_contact.php. Themes should use add_theme_page() for adding admin pages.
    Line 272: add_submenu_page( 'options-general.php', __( 'Clean Contact', 'largo' ), __
  • REQUIRED: class-tgm-plugin-activation.php. Themes should use add_theme_page() for adding admin pages.
    Line 641: $this->page_hook = call_user_func( 'add_submenu_page', $args['parent_slug'], $args['page_title'], $args['menu_t
  • REQUIRED: The theme uses the register_taxonomy() function, which is plugin-territory functionality.

Warning items - most are translation issues, but the non-translation items are listed first

non-translation

  • WARNING: More than one text-domain is being used in this theme. This means the theme will not be compatible with WordPress.org language packs.
    The domains found are largo, options_framework_theme, name, posts_term_plural, Posts, cf-tax-landing, : Footer, tgmpa, optionsframework, argo-links
  • WARNING: Your theme appears to be in the wrong directory for the theme name. The directory name must match the slug of the theme. This theme's correct slug and text-domain is project-largo-base-theme.
    (If this is a child theme, you can ignore this error.)
  • WARNING: The theme uses the add_shortcode() function. Custom post-content shortcodes are plugin-territory functionality.
  • WARNING: The tag white has been deprecated, please remove it from your style.css header.
  • WARNING: The tag light has been deprecated, please remove it from your style.css header.
  • WARNING: The tag fluid-layout has been deprecated, please remove it from your style.css header.
  • WARNING: The tag blue has been deprecated, please remove it from your style.css header.
  • WARNING: Found PHP short tags in file update.php.
    Line 854: <p>Largo has been updated! Please <a href='<? echo admin_url('index.php?page=update-largo'); ?>'>visit the update page
    Line 1136: <h3>Please <a href='<? echo admin_url('index.php?page=update-largo'); ?>'>visit the update page
  • WARNING: Found PHP short tags in file hero-featured-embed.php.
    Line 3: <? echo $featured_media['embed']; ?>
  • WARNING: file_get_contents was found in the file test-post-templates.php File operations should use the WP_Filesystem methods instead of direct PHP filesystem calls.
    Line 13:$contents = file_get_contents($filename);
  • WARNING: file_get_contents was found in the file admin.php File operations should use the WP_Filesystem methods instead of direct PHP filesystem calls.
    Line 59: @file_get_contents($_FILES[LARGO_AVATAR_INPUT_NAME]['tmp_name'])
  • WARNING: .ds_store .git .gitignore .travis.yml Hidden Files or Folders found.

Translation functions

  • WARNING: Found a translation function that is missing a text-domain. Function _x, with the arguments 'Series', 'taxonomy singular name'
  • WARNING: Found a translation function that is missing a text-domain. Function _x, with the arguments 'Series', 'taxonomy general name'
  • WARNING: Found a translation function that is missing a text-domain. Function _x, with the arguments 'Post Prominence', 'taxonomy singular name'
  • WARNING: Found a translation function that is missing a text-domain. Function _x, with the arguments 'Post Prominence', 'taxonomy general name'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'Begin installing plugin', 'Begin installing plugins'
  • WARNING: Found a translation function that is missing a text-domain. Function _n_noop, with the arguments 'Activate installed plugin', 'Activate installed plugins'
  • WARNING: Found a translation function that is missing a text-domain. Function _n, with the arguments 'One thought on “%2$s”', '%1$s thoughts on “%2$s”'
  • WARNING: Found a translation function that is missing a text-domain. Function _n, with the arguments '%s result', '%s results'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'largo'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Update the database!'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Title:'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'This version of Largo includes a variety of updates, enhancements and changes.'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'These changes affect'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Theme options'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'The database update you are about to apply will take steps to migrate existing site settings.'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Site navigation'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Sidebars and widgets'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Please be sure to review your site settings after applying the update to ensure all is well.'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Include:'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'In the event that a site setting can not be migrated, the update will do its best to preserve it instead.'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'For example, menus that existed in previous versions of Largo have been removed. If your site has been using one of these now-deprecated menus, the update process will merge it with the nearest related menu.'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Configured menus'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Click the button below to apply a required database update.'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'CC E-mail address'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'largo'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'is an invalid Twitter username.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'is an invalid Facebook username.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'does not allow followers on Facebook.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'When a taxonomy archive is requested, such as a category page, the first Landing Page with that taxonomy (if any) is used.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'View Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'View Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Update Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Update Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Uncategorized'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Twitter usernames only use the uppercase and lowercase alphabet letters (a-z A-Z), the Arabic numbers (0-9), and underscores (_).'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'To override the default related posts functionality enter specific related post IDs separated by commas.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Sticky navigation overflow'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Specify at least one category, tag, or custom taxonomy.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Something went wrong with the plugin API.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Select Color'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Search Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Search Post Type'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Search Post Prominences'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Return to Required Plugins Installer'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Plugin activated successfully.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Parent Series:'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Parent Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Parent Post Prominence:'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Parent Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'New Series Name'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'New Post Prominence Name'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'M j, Y @ G:i'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Installing Plugin: %s'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Install Required Plugins'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Install Plugins'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Identify which of this posts's terms is primary.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Hide the featured posts area on category pages?'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Greetings'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Filter messages for SPAM through the'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Facebook usernames only use the uppercase and lowercase alphabet letters (a-z A-Z), the Arabic numbers (0-9), periods (.) and dashes (-)'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Edit Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Edit Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Default'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Custom field updated.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Custom field deleted.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Contact Reasons & Recipients'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Clear'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'By default, the sticky navigation bar is visible on all pages for mobile screen sizes. The sticky navigation bar will disappear when a user scrolls down and reappear on an up scroll. When the main navigation is visible, the sticky navigation will disappear.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Auto-generated by current homepage template'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'An error occurred.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Alternate site name for sticky navigation'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'All plugins installed and activated successfully. %s'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'All Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'All Post Prominences'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Add New Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Add New Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Follow these instructions to allow others to follow you.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments "There was a problem applying the update. Please try again."
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments "Thank you -- the update is complete."
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments "Thank you -- the update is complete. Don't forget to check your site settings!"
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments "Finished. No update was required."
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments "An error occurred."
  • WARNING: Found a translation function that has an incorrect number of arguments. Function __, with the arguments 'Series ', : Footer, 'largo'

Recommended items

non-translation

  • RECOMMENDED: Screenshot size should be 1200x900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200x900 is preferred.

translation

  • RECOMMENDED: Possible variable $widget found in translation function in cftl-admin.php. Translation function calls must NOT contain PHP variables.
    Line 619: 'name' => __( 'Series ' . $widget->post_title . ': Footer', 'largo' ),
  • RECOMMENDED: Possible variable $warning found in translation function in functions.php. Translation function calls must NOT contain PHP variables.
    Line 372: _e( $warning, 'largo' );
  • RECOMMENDED: Possible variable $val found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 908: $rep = $this->compileValue($this->lib_e($val));
  • RECOMMENDED: Possible variable $title found in translation function in metabox-api.php. Translation function calls must NOT contain PHP variables.
    Line 40: 'title' => __( $title, 'largo'),
  • RECOMMENDED: Possible variable $this found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 1294: return $this->lib_e($this->reduce($inner));
  • RECOMMENDED: Possible variable $theme_text_domain found in translation function in plugin-init.php. Translation function calls must NOT contain PHP variables.
    Line 138: 'complete' => __( 'All plugins installed and activated successfully. %s', $theme_text_dom
  • RECOMMENDED: Possible variable $theme_text_domain found in translation function in plugin-init.php. Translation function calls must NOT contain PHP variables.
    Line 137: 'plugin_activated' => __( 'Plugin activated successfully.', $theme_text_domain ),
  • RECOMMENDED: Possible variable $theme_text_domain found in translation function in plugin-init.php. Translation function calls must NOT contain PHP variables.
    Line 136: 'return' => __( 'Return to Required Plugins Installer', $theme_text_domain ),
  • RECOMMENDED: Possible variable $theme_text_domain found in translation function in plugin-init.php. Translation function calls must NOT contain PHP variables.
    Line 125: 'oops' => __( 'Something went wrong with the plugin API.', $theme_text_domain ),
  • RECOMMENDED: Possible variable $theme_text_domain found in translation function in plugin-init.php. Translation function calls must NOT contain PHP variables.
    Line 124: 'installing' => __( 'Installing Plugin: %s', $theme_text_domain ), // %1$s = plugin name
  • RECOMMENDED: Possible variable $theme_text_domain found in translation function in plugin-init.php. Translation function calls must NOT contain PHP variables.
    Line 123: 'menu_title' => __( 'Install Plugins', $theme_text_domain ),
  • RECOMMENDED: Possible variable $theme_text_domain found in translation function in plugin-init.php. Translation function calls must NOT contain PHP variables.
    Line 122: 'page_title' => __( 'Install Required Plugins', $theme_text_domain ),
  • RECOMMENDED: Possible variable $string found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 894: $template = $this->compileValue($this->lib_e($string));
  • RECOMMENDED: Possible variable $str found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 133: $url = $this->compileValue($this->lib_e($str));
  • RECOMMENDED: Possible variable $sidebar found in translation function in sidebars.php. Translation function calls must NOT contain PHP variables.
    Line 108: 'name' => __( $sidebar, 'largo' ),
  • RECOMMENDED: Possible variable $res found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 1256: if (empty($value[2])) $res = $this->lib_e($res);
  • RECOMMENDED: Possible variable $posts_term found in translation function in largo-recent-posts.php. Translation function calls must NOT contain PHP variables.
    Line 48: $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? __( 'Recent ' . $posts_term, 'largo' ) : $instance['title'], $instance, $th
  • RECOMMENDED: Possible variable $part found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 1288: if ($strip) $part = $this->lib_e($part);
  • RECOMMENDED: Possible variable $newUnit found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 937: $this->compileValue($this->lib_e($newUnit)));
  • RECOMMENDED: Possible variable $key found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 1263: $key = $this->vPrefix . $this->compileValue($this->lib_e($key));
  • RECOMMENDED: Possible variable $items found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 877: return $this->lib_e($items[0]);
  • RECOMMENDED: Possible variable $arg found in translation function in lessc.inc.php. Translation function calls must NOT contain PHP variables.
    Line 872: protected function lib_e($arg) {
  • RECOMMENDED: No reference to add_theme_support( "custom-header", $args ) was found in the theme. It is recommended that the theme implement this functionality if using an image for the header.
  • RECOMMENDED: No reference to add_theme_support( "custom-background", $args ) was found in the theme. If the theme uses background images or solid colors for the background, then it is recommended that the theme implement this functionality.
  • RECOMMENDED: post_permalink() found in the file archive-category-secondary-feature.php. Deprecated since version 4.4. Use get_permalink instead.
    Line 4: <a href='<?php echo post_permalink($featured_post->ID); ?>'>
    Line 11: <a href='<?php echo post_permalink($featured_post->ID); ?>'
  • RECOMMENDED: post_permalink() found in the file archive-category-primary-feature.php. Deprecated since version 4.4. Use get_permalink instead.
    Line 4: <a href='<?php echo post_permalink($featured_post->ID); ?>'><?php echo get_the_post_thumbnail($
    Line 13: <a href='<?php echo post_permalink($featured_post->ID); ?>'

@MsPseudolus
Copy link

It's enormous, so if it would be easier on the eyes I can remove the 'recommended' items for now :)

@benlk benlk unassigned rnagle Jul 5, 2016
MsPseudolus added a commit to MsPseudolus/Largo that referenced this issue Jul 11, 2016
MsPseudolus added a commit to MsPseudolus/Largo that referenced this issue Jul 11, 2016
MsPseudolus added a commit to MsPseudolus/Largo that referenced this issue Jul 11, 2016
…v. 4.5 and higher -- the right way -- as listed in issue WPBuddy#844
aschweigert added a commit that referenced this issue Jul 18, 2016
…-for-title-tag

Per issue #844 - adds theme support for <title> , as reported by Theme Check
benlk added a commit that referenced this issue Sep 10, 2018
…allyhidden technique

This fixes #1528 and addresses part of #844
@benlk
Copy link
Collaborator

benlk commented Sep 11, 2018

REQUIRED: get_currentuserinfo() found in the file users.php. Deprecated since version 4.5. Use wp_get_current_user instead.

This is okay;

    if ( $wp_version < 4.5 ) { 
        get_currentuserinfo();
    } else {
        wp_get_current_user();
    }

@benlk
Copy link
Collaborator

benlk commented Sep 12, 2018

Translation functions can copy a lot of fixes from #1458, but that was against develop and will need changes for 0.5-dev.

@benlk
Copy link
Collaborator

benlk commented Jul 17, 2019

This should be split into separate tickets before work starts on this issue. The changelog for the release containing this should credit the people who have contributed to this issue.

@benlk benlk added this to To do in Research for Largo 0.7 via automation Aug 14, 2019
@benlk
Copy link
Collaborator

benlk commented Aug 21, 2019

Next steps here:

  • run a fresh check
  • create separate issues for those items, with note to thank in the changelog the people who have contributed to this issue

@benlk
Copy link
Collaborator

benlk commented Aug 22, 2019

Research here should also run the tests in #1651

@joshdarby
Copy link
Collaborator

joshdarby commented Aug 22, 2019

Theme check plugin results:

Separate issues incoming

Warnings

  • Warning: More than one text-domain is being used in this theme. This means the theme will not be compatible with WordPress.org language packs.
  • The domains found are largo, options_framework_theme, cf-tax-landing, : Footer, \s Likes on Twitter, twitter_username, name, posts_term_plural, Posts, optionsframework, argo-links
  • WARNING: Your theme appears to be in the wrong directory for the theme name. The directory name must match the slug of the theme. This theme's correct slug and text-domain is project-largo-base-theme.
  • (If this is a child theme, you can ignore this error.)
  • WARNING: The theme uses the add_shortcode() function. Custom post-content shortcodes are plugin-territory functionality.
  • WARNING: Found a translation function that is missing a text-domain. Function _x, with the arguments 'Series', 'taxonomy singular name'
  • WARNING: Found a translation function that is missing a text-domain. Function _x, with the arguments 'Series', 'taxonomy general name'
  • WARNING: Found a translation function that is missing a text-domain. Function _x, with the arguments 'Post Prominence', 'taxonomy singular name'
  • WARNING: Found a translation function that is missing a text-domain. Function _x, with the arguments 'Post Prominence', 'taxonomy general name'
  • WARNING: Found a translation function that is missing a text-domain. Function _n, with the arguments 'One thought on “%2$s”', '%1$s thoughts on “%2$s”'
  • WARNING: Found a translation function that is missing a text-domain. Function _n, with the arguments '%s result', '%s results'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'largo'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Title:'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'This version of Largo includes a variety of updates, enhancements and changes.'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'These changes affect'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Theme options'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Site navigation'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Sidebars and widgets'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Include:'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'Configured menus'
  • WARNING: Found a translation function that is missing a text-domain. Function _e, with the arguments 'CC E-mail address'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'largo'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'When a taxonomy archive is requested, such as a category page, the first Landing Page with that taxonomy (if any) is used.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'View Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'View Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Update Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Update Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Uncategorized'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'To override the default related posts functionality enter specific related post IDs separated by commas.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Sticky navigation overflow'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Specify at least one category, tag, or custom taxonomy.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Select Color'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Search Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Search Post Type'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Search Post Prominences'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Parent Series:'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Parent Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Parent Post Prominence:'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Parent Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'New Series Name'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'New Post Prominence Name'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'M j, Y @ G:i'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Hide the featured posts area on category pages?'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Greetings'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Filter messages for SPAM through the'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Edit Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Edit Post Prominence'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Default'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Custom field updated.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Custom field deleted.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Contact Reasons & Recipients'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Clear'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'By default, a floating/sticky navigation bar is visible on all pages for mobile screen sizes. The sticky navigation bar will disappear when a user scrolls down and reappear when a user begins to scroll up. When the main navigation is visible, the sticky navigation will disappear. This feature can be deactivated for larger screens, but we typically recommend sticking with the default behavior.'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Auto-generated by current homepage template'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Alternate site name for sticky navigation'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'All Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'All Post Prominences'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Add New Series'
  • WARNING: Found a translation function that is missing a text-domain. Function __, with the arguments 'Add New Post Prominence'
  • WARNING: Found a translation function that has an incorrect number of arguments. Function __, with the arguments 'twitter_username', \s Likes on Twitter, 'largo'
  • WARNING: Found a translation function that has an incorrect number of arguments. Function __, with the arguments 'Tweets by @', twitter_username, 'largo'
  • WARNING: Found a translation function that has an incorrect number of arguments. Function __, with the arguments 'Series ', : Footer, 'largo'
  • WARNING: Both DOS and UNIX style line endings were found in the file node_modules/rxjs/bundles/rxjs.umd.js. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings.
  • WARNING: Both DOS and UNIX style line endings were found in the file node_modules/less/test/browser/less.js. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings.
  • WARNING: Both DOS and UNIX style line endings were found in the file node_modules/less/dist/lessc-rhino-1.7.5.js. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings.
  • WARNING: Both DOS and UNIX style line endings were found in the file node_modules/less/dist/less-rhino-1.7.5.js. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings.
  • WARNING: Both DOS and UNIX style line endings were found in the file node_modules/less/dist/less-1.7.5.min.js. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings.
  • WARNING: Both DOS and UNIX style line endings were found in the file node_modules/less/dist/less-1.7.5.js. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings.
  • WARNING: file_get_contents was found in the file tests/inc/test-post-templates.php File operations should use the WP_Filesystem methods instead of direct PHP filesystem calls.
  • Line 37: $contents = file_get_contents( $filename );
  • Line 68: $contents = file_get_contents( $filename );
  • Line 106: $contents = file_get_contents( $filename );
  • Line 147: $contents = file_get_contents( $filename );
  • Line 188: $contents = file_get_contents( $filename );
  • Line 220: $contents = file_get_contents( $filename );
  • WARNING: file_get_contents was found in the file inc/avatars/admin.php File operations should use the WP_Filesystem methods instead of direct PHP filesystem calls.
  • Line 64: @file_get_contents($_FILES[LARGO_AVATAR_INPUT_NAME]['tmp_name'])
  • WARNING: .ds_store .npmignore .travis.yml .bin .jshintrc .eslintrc.yml .eslintrc .gitkeep .editorconfig .eslintignore .grunt .idea .name .babelrc .nvmrc .jscs.json .eslintrc.json .gitmodules .nyc_output .nycrc .jshintignore .watchmanconfig .dir-locals.el .istanbul.yml .coveralls.yml .tonic_example.js .buildinfo .readthedocs.yml .gitignore .git Hidden Files or Folders found.

Required

  • REQUIRED: The theme uses the register_taxonomy() function, which is plugin-territory functionality.
  • REQUIRED: The theme uses the register_post_type() function, which is plugin-territory functionality.
  • REQUIRED: The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output
  • REQUIRED: Please remove any extraneous directories like .git or .svn from the ZIP file before uploading it.
  • REQUIRED: Found a Customizer setting that did not have a sanitization callback function. Every call to the add_setting() method needs to have a sanitization callback function passed.
  • REQUIRED: lib/clean-contact/clean_contact.php. Themes should use add_theme_page() for adding admin pages.
  • Line 272: add_submenu_page( 'options-general.php', __( 'Clean Contact', 'largo' ), __
  • REQUIRED: inc/update.php. Themes should use add_theme_page() for adding admin pages.
  • Line 897: add_submenu_page(
  • REQUIRED: get_currentuserinfo() found in the file inc/users.php. Deprecated since version 4.5. Use wp_get_current_user instead.
  • Line 138: get_currentuserinfo();

Recommended

  • RECOMMENDED: Screenshot size should be 1200x900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200x900 is preferred.
  • RECOMMENDED: Possible variable $widget found in translation function in inc/wp-taxonomy-landing/functions/cftl-admin.php. Translation function calls must NOT contain PHP variables.
  • Line 628: 'name' => __( 'Series ' . $widget->post_title . ': Footer', 'largo' ),
  • RECOMMENDED: Possible variable $warning found in translation function in functions.php. Translation function calls must NOT contain PHP variables.
  • Line 382: _e( $warning, 'largo' );
  • RECOMMENDED: Possible variable $val found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 908: $rep = $this->compileValue($this->lib_e($val));
  • RECOMMENDED: Possible variable $title found in translation function in inc/metabox-api.php. Translation function calls must NOT contain PHP variables.
  • Line 40: 'title' => __( $title, 'largo'),
  • RECOMMENDED: Possible variable $this found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 1294: return $this->lib_e($this->reduce($inner));
  • RECOMMENDED: Possible variable $string found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 894: $template = $this->compileValue($this->lib_e($string));
  • RECOMMENDED: Possible variable $str found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 133: $url = $this->compileValue($this->lib_e($str));
  • RECOMMENDED: Possible variable $sidebar found in translation function in inc/sidebars.php. Translation function calls must NOT contain PHP variables.
  • Line 108: 'name' => __( $sidebar, 'largo' ),
  • RECOMMENDED: Possible variable $res found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 1256: if (empty($value[2])) $res = $this->lib_e($res);
  • RECOMMENDED: Possible variable $part found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 1288: if ($strip) $part = $this->lib_e($part);
  • RECOMMENDED: Possible variable $newUnit found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 937: $this->compileValue($this->lib_e($newUnit)));
  • RECOMMENDED: Possible variable $language found in translation function in inc/featured-media.php. Translation function calls must NOT contain PHP variables.
  • Line 471: echo '<a href='#' id='set-featured-media-button' class='button set-featured-media add_media' data-editor='content' title='' . __( $language . ' Featured Media', 'largo' ) . ''> ' . __( $language
  • RECOMMENDED: Possible variable $key found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 1263: $key = $this->vPrefix . $this->compileValue($this->lib_e($key));
  • RECOMMENDED: Possible variable $items found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 877: return $this->lib_e($items[0]);
  • RECOMMENDED: Possible variable $instance found in translation function in inc/widgets/largo-twitter.php. Translation function calls must NOT contain PHP variables.
  • Line 50: $widget_text = __( 'Tweets by @' . $instance['twitter_username'], 'largo' );
  • RECOMMENDED: Possible variable $instance found in translation function in inc/widgets/largo-twitter.php. Translation function calls must NOT contain PHP variables.
  • Line 33: $widget_text = __( $instance['twitter_username'] . ''s Likes on Twitter', 'largo' );
  • RECOMMENDED: Possible variable $arg found in translation function in lib/lessc.inc.php. Translation function calls must NOT contain PHP variables.
  • Line 872: protected function lib_e($arg) {
  • RECOMMENDED: No reference to add_theme_support( "custom-header", $args ) was found in the theme. It is recommended that the theme implement this functionality if using an image for the header.
  • RECOMMENDED: No reference to add_theme_support( "custom-background", $args ) was found in the theme. If the theme uses background images or solid colors for the background, then it is recommended that the theme implement this functionality.
  • RECOMMENDED: Tags: is either empty or missing in style.css header.
  • INFO: Possible hard-coded links were found in the file options.php.
  • Line 270: 'desc' => __('Information about these options can be found in the pre-launch
  • Line 627: 'desc' => __('Google Custom Search typically returns better results than the search engine built into WordPress. You can get your ID and configure it at https://www.google.com/cse/create/ne
  • INFO: Possible hard-coded links were found in the file inc/dashboard.php.
  • Line 73:
  • Largo Project Website
  • Line 120: $args = array( 'id' => 'website', 'title' => 'Main Website', 'href' => 'https://largo.inn.org//', 'parent' => 'largo_admin_mega' );
  • Line 163: return 'This website powered by Project Largo from I
  • Line 74:
  • Largo Documentation
  • Line 124: $args = array( 'id' => 'largo_docs', 'title' => 'Documentation', 'href' => 'https://largo.readthedocs.io/', 'parent' => 'largo_admin_mega' );
  • Line 76:
  • Help Desk
  • Line 77:
  • Knowledge Base
  • Line 128: $args = array( 'id' => 'knowledge_base', 'title' => 'Knowledge Base', 'href' => 'https://support.inn.org/', 'parent' => 'largo_admin_mega' );
  • Line 132: $args = array( 'id' => 'support', 'title' => 'Help Desk', 'href' => 'https://support.inn.org/', 'parent' => 'largo_admin_mega' );
  • Line 136: $args = array( 'id' => 'user_forums', 'title' => 'Community Forums', 'href' => 'https://support.inn.org/', 'parent' => 'largo_admin_mega' );
  • Line 76:
  • Help Desk
  • Line 77:
  • Knowledge Base
  • Line 128: $args = array( 'id' => 'knowledge_base', 'title' => 'Knowledge Base', 'href' => 'https://support.inn.org/', 'parent' => 'largo_admin_mega' );
  • Line 132: $args = array( 'id' => 'support', 'title' => 'Help Desk', 'href' => 'https://support.inn.org/', 'parent' => 'largo_admin_mega' );
  • Line 136: $args = array( 'id' => 'user_forums', 'title' => 'Community Forums', 'href' => 'https://support.inn.org/', 'parent' => 'largo_admin_mega' );
  • Line 79:

    Developers can also log issues on our public github repository and if you w

  • Line 140: https://github.com/inn/largo', 'parent' => 'largo_admin_mega' );
  • Line 73:
  • Largo Project Website
  • Line 120: $args = array( 'id' => 'website', 'title' => 'Main Website', 'href' => 'https://largo.inn.org//', 'parent' => 'largo_admin_mega' );
  • Line 163: return 'This website powered by Project Largo from I

Info

  • INFO: Possible hard-coded links were found in the file inc/custom-less-variables.php.
  • Line 453:
  • Line 539: <?php echo mysql2date( 'j F, Y
  • Line 549: <a href='themes.php?page=largo_custom_less_variables&revision=<?php echo esc_att
  • INFO: Possible hard-coded links were found in the file inc/avatars/admin.php.
  • Line 43: _e('Currently using Gravatar. Change at gravatar.com or choose a different image below.'
  • INFO: tests/mock/mock-options-framework.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 16: include_once(ABSPATH . 'wp-admin/includes/screen.php');
  • Line 17: include_once(dirname(dirname(DIR)) . '/options.php');
  • INFO: tests/inc/test-enqueue.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 42: require( ABSPATH . WPINC . '/version.php' );
  • INFO: lib/options-framework/options-framework.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 66: require_once($optionsfile);
  • INFO: lib/lessc.inc.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 77: require_once(ABSPATH . 'wp-admin/includes/file.php');
  • Line 93: require_once(ABSPATH . 'wp-admin/includes/file.php');
  • INFO: lib/clean-contact/clean_contact.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 283: include(dirname(FILE).'/clean_contact_conf.php');
  • Line 296: require_once(ABSPATH . 'wp-admin/includes/file.php');
  • INFO: largo-apis.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 5: * require_once( get_template_directory() . '/largo-apis.php' );
  • Line 19: include_once( get_template_directory() . $include );
  • INFO: js/tinymce/plugins/largo/window.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 3: require( '../../../../../../../wp-load.php' ); // we're a long way from hom
  • INFO: inc/wp-taxonomy-landing/taxonomy-landing.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 37: include('functions/cftl-admin.php');
  • Line 38: include('functions/cftl-intercept-queries.php');
  • Line 39: include('functions/cftl-series-order.php');
  • INFO: inc/widgets.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 50: require_once( get_template_directory() . $val );
  • INFO: inc/update.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 29: require_once( get_template_directory() . $required );
  • INFO: inc/term-icons.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 16: require_once(ABSPATH . 'wp-admin/includes/file.php');
  • INFO: inc/featured-media.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 622: require_once( ABSPATH . WPINC . '/class-oembed.php' );
  • INFO: inc/custom-less-variables.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 135: require_once(ABSPATH . 'wp-admin/includes/file.php');
  • Line 151: require_once(ABSPATH . 'wp-admin/includes/file.php');
  • Line 239: require( dirname( FILE ) . '/../lib/lessc.inc.php' );
  • INFO: inc/avatars/admin.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 80: require_once( ABSPATH . 'wp-admin/includes/image.php' );
  • INFO: iframe was found in the file tests/inc/test-featured-media.php iframes are sometimes used to load unwanted adverts and code on your site.
  • Line 29: 'embed' => '<iframe id='test-iframe-embed-code'></iframe>',
  • Line 38: 'embed' => '<iframe id='test-iframe-embed-code'></iframe>',
  • INFO: iframe was found in the file inc/helpers.php iframes are sometimes used to load unwanted adverts and code on your site.
  • Line 173: * For a given YouTube URL, return an iframe to embed
  • Line 177: * @return string a standard YouTube iframe embed code
  • Line 181: function largo_youtube_iframe_from_url( $url, $echo = TRUE ) {
  • Line 182: $output = '<iframe src='//www.youtube.com/embed/' . largo_youtube_url_to_ID( $url ) .
  • INFO: homepages/homepage-class.php The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead.
  • Line 5: require_once( ABSPATH . 'wp-admin/includes/file.php' );

@benlk
Copy link
Collaborator

benlk commented Aug 22, 2019

@joshdarby
Copy link
Collaborator

joshdarby commented Aug 22, 2019

Focusing on the required items for now:

Required

  • REQUIRED: The theme uses the register_taxonomy() function, which is plugin-territory functionality.
    • @benlk Do we want to worry about this one?
  • REQUIRED: The theme uses the register_post_type() function, which is plugin-territory functionality.
    • @benlk Do we want to worry about this one?
  • REQUIRED: The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output
    • I think this is being flagged from feed-mailchimp.php using <title><?php bloginfo_rss('name'); ?></title> and <title><?php the_title_rss(); ?></title>? @benlk Any extra insight?
  • REQUIRED: Please remove any extraneous directories like .git or .svn from the ZIP file before uploading it.
    • I don't think we need to worry about this, yet
  • REQUIRED: Found a Customizer setting that did not have a sanitization callback function. Every call to the add_setting() method needs to have a sanitization callback function passed.
  • REQUIRED: lib/clean-contact/clean_contact.php. Themes should use add_theme_page() for adding admin pages.
  • Line 272: add_submenu_page( 'options-general.php', __( 'Clean Contact', 'largo' ), __
  • REQUIRED: inc/update.php. Themes should use add_theme_page() for adding admin pages.
  • Line 897: add_submenu_page(
  • REQUIRED: get_currentuserinfo() found in the file inc/users.php. Deprecated since version 4.5. Use wp_get_current_user instead.
  • Line 138: get_currentuserinfo();
    • This checks to see what WP version is being used before choosing which function to use if ( $wp_version < 4.5 ) { get_currentuserinfo(); } else { wp_get_current_user(); }

@joshdarby joshdarby moved this from To do to In progress in Research for Largo 0.7 Aug 22, 2019
@benlk
Copy link
Collaborator

benlk commented Aug 28, 2019

REQUIRED: The theme uses the register_taxonomy() function, which is plugin-territory functionality.
@benlk Do we want to worry about this one?

We'd need to do a pretty extensive separation of plugin content from Largo, which would take a lot of time. If we wanted to list Largo on wp.org, though, that would be necessary.

REQUIRED: The theme uses the register_post_type() function, which is plugin-territory functionality.
@benlk Do we want to worry about this one?

Same as above.

REQUIRED: The <title> tags can only contain a call to wp_title(). Use the wp_title filter to modify the output
I think this is being flagged from feed-mailchimp.php using <title></title> and <title></title>? @benlk Any extra insight?

I think this is https://github.com/INN/largo/blob/512da701664b329f2f92244bbe54880a6e146431/header.php#L21-L31 , which we fixed in 0.6. It's fine.

REQUIRED: Found a Customizer setting that did not have a sanitization callback function. Every call to the add_setting() method needs to have a sanitization callback function passed.

To be tackled in #1438

REQUIRED: inc/update.php. Themes should use add_theme_page() for adding admin pages.
Line 897: add_submenu_page(

Issue already exists at #1692

@benlk
Copy link
Collaborator

benlk commented Oct 7, 2019

This issue is getting unreadably long with no clear entry point; let's instead create a new issue for this for the next release.

@benlk benlk closed this as completed Oct 7, 2019
Research for Largo 0.7 automation moved this from In progress to Done Oct 7, 2019
@benlk benlk mentioned this issue Oct 7, 2019
93 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Estimate: < 2 Hours priority: normal Must be completed before release of this version of plugin.
Projects
Development

No branches or pull requests

5 participants