How to Compress and Remove Original Images with Smush

Want greater control of your uploaded images? Smush lets you compress uploaded images, backup uploaded images, scale images to a desired threshold, disable scaling altogether, and more.

With Smush, you can now override WordPress Core functionality in the plugin’s settings to compress and remove original images.

We have tweaked the bulk smush engine and added several options that lets you choose how to manage this.

Before getting into the nitty-gritty, let’s explain what “originals” are (yeah, it can be confusing even for us).

Originals and Scaling

When WP version 5.3 was introduced in October 2019, WordPress decided to change how they handled big images.

Basically, WordPress defined a threshold (2560px is the default) and all images that were bigger than that would be scaled down, leaving users with all the usual generated attachments, plus the scaled version, plus the actual big image that you uploaded.

To quote the WordPress team:

If an image height or width is above this threshold, it will be scaled down, with the threshold being used as max-height and max-width value. The scaled-down image will be used as the largest available size.

Note: The scaling only works with JPEG images as the WP Core Team removed this functionality from PNG files due to a number of issues.

Use Cases

There are various reasons why you would want to compress your uploaded images or even go one step further and disable the default WordPress scaling functionality altogether.

For example, you may have users that don’t know that uploading 20MB images directly from their camera is not a good practice when it comes to using images with WordPress.

Or, images may be taking up a lot of space on your server and for various reasons, you can’t do anything but try to compress these.

The point is…you have your reasons and Smush allows you to choose how to handle images to better suit your workflow. :)

How Does it Work?

Whether you have Smush free or Smush Pro installed, go to Bulk Smush > Settings and scroll down a little.

You will find several new options:

Bulk Smush Settings
Manage your uploaded images better with Smush’s image resizing and uploading image features.

Resize uploaded images lets you change the default max image width and height threshold defined by WordPress (2560px) to other dimensions.

Disable scaled images allows you to completely disable the scaling functionality, which means that WordPress won’t create scaled versions of your uploaded images if they’re larger than the threshold. Basically, this lets you go back to how WordPress managed large-sized images before v5.3.

Enabling Compress uploaded images allows you to smush those huge images that we talked about earlier. No more 20MB+ images taking up space in your server (unless you really want it to!).

Smush also gives you the option to back up your uploaded images.

If you want to compress your scaled images, you’ll see the threshold size you defined (for example, 2048×2048) as another item under Bulk Smush > Image Sizes > Custom.

Bulk Smush Settings - Image Sizes
Compress your scaled images, including your defined image threshold size.

Under Tools > Bulk restore, you can restore your thumbnails as long as you enabled the option to back up your uploaded images.

Smush Bulk Restore
Regenerate your image thumbnails from your original uploaded images.

Give this feature a spin and start managing your uploaded images better in WordPress. If you need additional information, check out our Smush plugin documentation or contact our support team.

Keanan Koppenhaver Acquires WP Pusher and Branch

WordPress developer Keanan Koppenhaver announced today that he has acquired WP Pusher and Branch from Peter Suhm. WP Pusher, a product we have covered for the past six years, allows users to deploy plugins and themes from popular code hosting services like GitHub, GitLab, and Bitbucket. In 2018, Suhm expanded his offerings to include Branch, a Docker-based continuous integration service for WordPress. Both products were selected for the TinySeed Startup Accelerator, a remote accelerator that funds early-stage SaaS founders to live for a year and focus full-time on their startups.

“I raised money from TinySeed and a few angels to build Branch, but wasn’t able to find enough traction to get it to a point where it would be sustainable,” Suhm said.

Earlier this year, Suhm began working on reform.app, a form builder. He described Branch as a “set it and forget it” product that didn’t require much support, as he had closed it for new signups. WP Pusher also required minimal support and had been stable for years.

“It wasn’t really the time that was a problem for me, it was more the mental overhead of having the responsibility,” Suhm said.

“I quickly realized that Reform probably aligned better with my goals and wanted to focus 100% on starting that business. Selling WP Pusher and Branch allowed me to work on Reform, without needing to necessarily raise money or have a job.”

In contrast to the rash of smaller WordPress product companies getting scooped up by larger ones lately, WP Pusher and Branch will retain their “indie” status. The products are being transferred from Suhm’s one-man company to another.

“I knew Keanan because we had been working on getting his agency on Branch awhile back and knew he was a great guy,” Suhm said. “I wouldn’t sell WP Pusher to whomever, because it’s basically what I’m known for in the WordPress space and its reputation means a lot to me.”

Koppenhaver had been searching for a WordPress product to acquire when he happened to be tagged in responses to Suhm’s tweet. He didn’t have the free cash so he spent some time fundraising to make the deal happen.

“I’m looking forward to integrating GitHub Actions with WP Pusher, focusing pretty heavily on tutorials and content for both products, re-opening Branch for new users and getting the Billable Hours podcast going again,” Koppenhaver said.

When asked if he has any pricing changes planned for WP Pusher, he said, “Not at the moment.” Existing customers can expect no changes for now and may even see some improvements to their current plans.

“I definitely want to focus on filling in any gaps that the current users see in the product and especially adding value to the higher level plans,” Koppenhaver said.

Chrome 94 API Criticized Over Privacy Concerns

Chrome 94 has been released this week and is receiving criticism for the inclusion of an idle detection API. This API allows developers to determine when users are idle on a device, beyond just on the application’s own tab, helping to identify if a user is uninterested in the content, or simply switched to a new application for some period of time. 

The feature documentation explains the intended use case in stating that:

Feeling lost with chapter project.

Good afternoon guys,

I am reaching out for help on C++. I just started the semester taking the Computer programming 1 at my college which is taught in C++. I am working on a chapter project qusetion and I feel lost on how to achieve the solution using the basic knowledge on Chapter 3 so far. The book we are using is Problem solving with CPP 10th Edition. And here is the question:

  1. Write a program that computes the cost of a long-distance call. The cost of
    the call is determined according to the following rate schedule:
    a. Any call started between 8:00 am and 6:00 pm, Monday through Friday,
    is billed at a rate of $0.40 per minute.
    b. Any call starting before 8:00 am or after 6:00 pm, Monday through
    Friday, is charged at a rate of $0.25 per minute.
    c. Any call started on a Saturday or Sunday is charged at a rate of $0.15
    per minute.
    The input will consist of the day of the week, the time the call started, and
    the length of the call in minutes. The output will be the cost of the call. The
    time is to be input in 24-hour notation, so the time 1:30 pm is input as
    13:30
    The day of the week will be read as one of the following pairs of character
    values, which are stored in two variables of type char :
    Mo Tu We Th Fr Sa Su
    Be sure to allow the user to use either uppercase or lowercase letters or a
    combination of the two. The number of minutes will be input as a value
    of type int . (You can assume that the user rounds the input to a whole
    number of minutes.) Your program should include a loop that lets the
    user repeat this calculation until the user says she or he is done.

Here is my code so far, I was thinking of using enums so that the code will be able to identify the days of the week but I am kinda lost. As you can see as of now, I am just testing for Monday. However, I do not know how to make the code understand that the time starts from 8 AM to 6 PM. I can do 08:00 to 17:59. But to make to make it acknowledge 08:00 to 18:00 is rather hard since counting goes from 1 to 100. How can I create a simpler count from 1 - 60 as done with time ? I think if I can overcome this hurdle, then I can complete the code to work in how it works. Also, where can I use an enum?

// This program computes the cost of a long-distance call.
// Any call started between 8 am to 6 pm on Mon - Fri is billed @ $0.40
// Any call starting between 6:01 pm to 7:59 am on Mon - Fri is billed @ $0.25
// Any call started on a Saturday or Sunday is charged @ $0.15

#include <iostream>
#include <ctime>
#include <string>
using namespace std;

// constants for the fixed costs
const double week_day = 0.40; // Mon - Fri from 8 am to 6 pm
const double week_nights = 0.25; // Mon to Friday 6:01 pm to 7:59 am
const double weekend = 0.25; // Saturday and Sunday rates
//enum days = {Monday = 'Mo', Tuesday = 'Tu', Wednesday = 'We', Thursday = 'Th', Friday = 'Fr', Saturday = 'Sa', Sunday = 'Su'};

int main(){
    // Declaration of the variables to be used
    int hour;
    int hrs;
    int minute;
    int mins;
    int call_mins;
    string time_input;
    string hour_part;
    string minute_part;
    char day_first;
    char day_second;


    cout << "Enter the time that the call was placed in 24-hour format eg. 13:30 for 1:30 PM: ";
    cin >> time_input;
    cout << endl << "You entered: " << time_input << endl;

    // Break the time input to hour and minutes
    //cout << time_input.find(':') <<endl;
    //cout << time_input.find(':') << endl;
    //cout << time_input.length() << endl;

    if ((time_input.find(':') < time_input.length()) && time_input.length() == 5) {
        hour = stoi(time_input.substr(0, time_input.find(':'))); // from str[0] to where : is found
        minute = stoi(time_input.substr(time_input.find(':') + 1)); // from : to str[str.length()]
        //cout <<"hours:"<<hours<<endl; // check for whether break was successful
        //cout<<"mins:"<<minutes<<endl; // check for whether break was successful

        // Nested if statements to make sure that our user's input falls into the normal time format
        if ((hour >= 0 && hour <=24) && (minute >= 0 && minute <= 59)){
            cout << hour << endl;
            cout << minute << endl;
            cout << endl;

            // If it does, ask the user to enter the length of the call
            // Lets ask the user for the number of minutes that the call lasted.
            cout << "How long was the call (in minutes)?: ";
            cin >> call_mins;
            cout <<endl << "You entered " << call_mins << " minutes" <<endl<<endl;
        }
        else{
            cout << "You entered an invalid input" << endl;
            // Insert input loop here
        }
    }
    else{
        cout << "You entered an invalid input" << endl;

    }
    // Determine when the call took place
    cout << "When did the call take place?: ";
    cin >> day_first >> day_second;
    day_first = tolower(day_first);
    day_second = tolower(day_second);
    //cout << "You entered " << day_first<<day_second; 

    // Here we are validating the day the call was made input
    if (day_first == 'm' && day_second == 'o'){ // Weekday
        cout << "Monday" << endl;
        if ((hour >= 8 && minute  >= 0) && (hour <= 18 && minute <= 59)){

            if (call_mins >= 60){
              //  do{ // Fix this loop
                hour = hour + (call_mins / 60);
                minute = minute + (call_mins % 60);
                while (minute >= 60){
                    cout << "start loop" << endl;
                    hour += minute / 60;
                    minute = minute % 60;
                }
               // } while (minute >= 60);
            }
        cout << "New hours: " << hour <<endl;
        cout << "New minutes: " << minute <<endl;
        cout << "Day shift"<< endl;

        }
        else if ((hour >= 18 && minute >= 01) && (hour <= { // Mostly lost here
            cout << "night shift";
        }
    }

    else if (day_first == 't'&& day_second == 'u'){ // Weekday
        cout << "Tuesday" << endl; 
    }
    else if (day_first == 'w' && day_second == 'e'){ // Weekday
        cout << "Wednesday" << endl;
    }
    else if (day_first == 't' && day_second == 'h'){ // Weekday
        cout << "Thursday" << endl;
    }
    else if (day_first == 'f' && day_second == 'r'){ // Weekday
        cout << "Friday" << endl;
    }
    else if (day_first == 's' && day_second == 'a'){ // Weekend
        cout << "Saturday" << endl;
    }
    else if (day_first == 's' && day_second == 'u'){ // Weekend
        cout << "Sunday" << endl;
    }
    else{
        cout << "The day input is invalid!!!";
    }

    return 0;
}

Thanks to everyone who will take the time to look at my code and contribute; and this is not homework, I am just trying to do all the chapter questions so that I have a strong grasp before moving to the next chapter.

Collective #680




Theatre.js

Theatre.js is a new hackable JavaScript animation library with visual tools. It animates the DOM, WebGL, and any other JavaScript variable.

Check it out









Open-Meteo

Open-Meteo offers free weather forecast APIs for open-source developers and non-commercial use. No API key is required.

Check it out


Mechanic

Mechanic is an open source framework that makes it easy to create custom, web-based design tools that export design assets right in your browser.

Check it out




Glass

Glass is a new subscription-based photo sharing app and community for professional and amateur photographers alike without dark patterns driving engagement.

Check it out



Standards

A new way to design brand guidelines. A product from Standards Manual. Apply for early access.

Check it out


Q1K3

An incredible Quake clone made by Dominic Szablewski for the 2021 js13k competition.

Check it out


The post Collective #680 appeared first on Codrops.

Simplifying Form Styles With `accent-color`

I don’t know about you, but I love it when new CSS properties arrive that make our daily lives as developers simpler and enable us to remove a whole lot of redundant code. aspect-ratio is one such property (recently eliminating the need for the padding hack). accent-color just might be the next.

Styling Form Inputs

Let’s take checkboxes. In every browser, these are styled differently by the user agent stylesheet (responsible for the browser’s default styles).

Historically there hasn’t been any real way to style these inputs. Instead, many web developers resort to a well-known hack, which involves visually (but accessibly) hiding the input itself, then styling a pseudo-element on the label. (All this applies to radio buttons too.)

Accessibility

A pretty cool feature is that the browser will automatically determine the best color for the checkmark to ensure sufficient color contrast, using its own internal algorithms. That means no extra code styling is required to ensure our checkboxes are as accessible as they can be.

In the following demo, we’re applying two different accent colors. If you view this in Chrome, you should see that the checkmark of the one on the left is white, while the one on the right is black. Browsers use different algorithms for this, so you may experience different results in Chrome versus Firefox.

We can use color-scheme to ensure that our checkboxes take on a light or dark style according to preference. Setting it on the root element in our CSS ensures that it applies to the whole page:

:root {
  color-scheme: light dark;
}

This expresses the color schemes in order of preference. Alternatively we could implement it using a meta tag in our HTML:

<meta name="color-scheme" content="light dark">

This is actually preferable, as it will be read by the browser immediately before the CSS file is parsed and executed — therefore could help us avoid a flash of unstyled content (FOUC).

In our rainbow checkbox demo, you might notice that the browser also adjusts the color of some of the checkmarks when we switch the color scheme, while still maintaining sufficient contrast. Pretty cool!

color-scheme affects the user agent styles. If we use it without providing other background color or text color styles for the page, the default colors of the page will be inverted if the user selects a dark color scheme — so the default background color will be black, and the text color will be white. In practice, it’s quite likely we’ll want to override these with CSS. We can use color-scheme alongside the prefers-color-scheme media query. In this demo, I’m using prefers-color-scheme to set the text color only when a dark scheme is preferred.

See the Pen accent-color with color-scheme by Michelle Barker.

color-scheme can also be set on individual elements, which is useful if there are some areas in our design that we want to retain a specified color scheme, regardless of whether light or dark mode is toggled. In this demo, we have a form with a dark background even when the overall color scheme is light. We can specify a dark color scheme, to ensure our checkboxes are styled with a dark color at all times:

.dark-form {
  color-scheme: dark;
}

See the Pen accent-color – showing two different colours by Michelle Barker.

Limitations

As mentioned, there are several elements that are not currently affected by accent-color, for which this functionality would be useful. Another consideration is that we’re currently limited to only styling the checked state of the checkbox or radio button — aside from using color-scheme, which has some effect on the checkbox border, but doesn’t allow for full customization. It would be great to be able to style the border color and thickness for the input in its unchecked state or implement even more custom styling, such as changing the overall shape, but we’re not quite there yet. At the very least, allowing the checkbox border to inherit the body text color would be preferable.

It would also be useful to be able to extend the use of accent-color to other elements beyond forms, such as video controls. Currently for a developer to create custom controls entails a significant amount of work in order to re-create the accessibility of native ones. This excellent article by Stephanie Stimac details the work being done by Open UI to standardize UI elements in order to make it easier for developers to style them.

Alternatives

An alternative way to style a checkbox or radio button is to hide default styling with -webkit-appearance: none and replace it with a background image. (See this demo.) Modern browsers support this pretty well, but it has its limitations when compared to the first method of using a pseudo-element (described at the start of this article), as we can’t directly manipulate the background image with CSS (e.g. changing its color or opacity), or transition the image.

The CSS Paint API — part of the Houdini set of CSS APIs — opens up more options for customization, allowing us to pass in custom properties to manipulate a background image. Check out this lovely demo (and accompanying worklet) by Matteo. Support is currently limited to Chromium browsers.

Accessibility

We should take care to provide accessible focus styles when using hiding the default appearance of form controls. An advantage of accent-color is that it doesn’t hide the browser defaults, preserving accessibility.

Browser Support

accent-color is currently supported in the latest versions of Chrome and Edge. It can be enabled in Firefox with the layout.css.accent-color.enabled flag, and is due to be supported in the next release. Unfortunately, there is no Safari support at present. That’s not to say you can’t start using it right away — browsers that don’t support accent-color will simply get the browser defaults, so it works great as progressive enhancement.

Conclusion

We’ve mostly talked about checkboxes and radio buttons here, as they’re among the most common form elements requiring customization. But accent-color has the potential to provide quick and easy styling for many of our form elements, especially where extensive customization isn’t needed, as well as allowing the browser to pick the best options for accessibility.

Further Reading

Some resources on accent-color, color-scheme, and styling form inputs:

Why You Can’t Replace REST With GraphQL

When I Googled “what is GraphQL” to learn more about the network protocols, all I saw was a comparison between REST and GraphQL. Most of the conclusions said, “use GraphQL.” It felt very binary (and trendy, for that matter), which is a problem because each product and use case is unique. The fact is, whatever is newest and shiniest gets recommended more loudly. But you have to weigh the trade-offs and come up with a solution that is best for your situation. 

There is a general understanding that either REST is better than GraphQL or vice versa. But the truth is they both address different problems and have different strengths and weaknesses. The question isn’t necessarily which one is better to use, but which one is better to use for specific circumstances. The best way to evaluate GraphQL, REST, or any other technology is to figure out your constraints based on the problem you are going to solve.

What To Do When You Are Locked Out of WordPress Admin (wp-admin)

Are you having trouble logging into your WordPress admin area?

This can be caused by a lot of different reasons, which makes it tricky for beginners to troubleshoot.

In this article, we will show you what to do when you are locked out of WordPress admin (wp-admin) so you can regain access to your site.

What To Do When You Are Locked Out of WordPress Admin (wp-admin)

Why Are You Locked Out of Your Own WordPress Site?

We often hear from users who are locked out of the WordPress admin area. This is frustrating and can bring your productivity to a standstill. You can’t write posts, respond to comments, or do any work on your WordPress website.

If you’re having trouble logging in to someone else’s site, then you should contact the site owner or admin to let them know. They can explain why you don’t have access, or work with you to solve the problem.

If you are the site owner, then you can follow our troubleshooting steps below.

There are few reasons why you could be locked out of WordPress admin, so let’s take a look at each of them one by one. Hopefully, through this process of elimination, you will be able to figure out the solution to your problem.

You can also refer to our WordPress troubleshooting guide to find out what’s causing the issue and how to fix it. You might also find a solution in our list of the 50 most common WordPress errors and how to fix them.

With that being said, let’s have a look at some steps you can take when you are locked out of WordPress admin. You can use the links below to quickly navigate to the error message you see.

Error Establishing Database Connection

Error Establishing Database Connection

Are you seeing the ‘Error establishing database connection’ warning on every page of your site? This message is shown for various reasons, such as a corrupt database or issues with your web hosting server.

If you’re seeing this error when trying to log in, then please refer to our guide on how to fix the error establishing a database connection in WordPress.

500 Internal Server Error

Internal Server Error

Another WordPress error that a beginner may come across is “Internal Server Error”, or sometimes “500 Internal Server Error”. This error is displayed when there is something wrong but the server is unable to identify where the problem is.

If you see this message when trying to log in to WordPress, then follow the steps in our guide on how to fix the 500 internal server error in WordPress.

404 ‘Not Found’ Error

Sometimes users make a mistake when changing the WordPress address and site address in their WordPress settings. The next time they try to log in to their admin area, they get the error ‘Error 404 – Not Found’.

WordPress Address and Site Address

If this is happening to you, then check our guide on how to change your WordPress site URLs. You won’t be able to use Method 1 because you can’t log in, but the other methods should get you out of trouble.

Note: If you can log in to your site but see the 404 error when viewing one of your posts, then you have a different problem. You can learn how to fix the issue in our guide on how to fix WordPress posts returning 404 error.

403 Forbidden Error

Forbidden Error

Some users report seeing the “HTTP Error 403 – Forbidden” error when trying to log in to wp-admin. This error can be caused by incorrect file permissions, poorly coded security plugins, or your server configuration.

If you’re seeing this error, then our guide on how to fix the 403 Forbidden Error in WordPress will help you track down and fix the problem.

401 Unauthorized Error

Unauthorized Error

Another message you can see when you’re locked out of your WordPress site is the 401 error. This error is sometimes accompanied by a message ‘Access is denied due to invalid credentials’ or ‘Authorization required’.

You can see this message if you’ve password-protected your WordPress admin folder. It can also be caused by a WordPress security plugin or security measures taken by your hosting company.

Please refer to our guide on how to fix the 401 Error in WordPress to learn six solutions that will help you regain access to your website.

Limited Logins

Limited Logins

By default, WordPress allows users to enter passwords as many times as they want. Hackers may try to exploit this by using scripts that enter different combinations until your website cracks.

To prevent this, we recommend that you limit the number of failed login attempts per user. However, this might mean that you find yourself locked out of your own website when you enter the wrong password too many times.

If you’re in that situation, then you should follow the steps in our guide on how to unblock Limit Login Attempts in WordPress.

White Screen of Death

White Screen of Death

Are you seeing a white screen on your WordPress admin? This issue is often referred to as the WordPress white screen of death.

This happens when you exhaust the memory limit. It could be caused by a poorly coded plugin or theme, or by unreliable web hosting.

If you are seeing this error, then please refer to our guide on how to fix the WordPress white screen of death.

Incorrect Password Issue

Incorrect Password Issue

There’s nothing more frustrating than being told you’ve used the wrong password when you’re sure you haven’t, and you even checked that your caps lock isn’t on.

This can happen if you were a victim of a hack, or you might just be making an honest mistake.

Worse still, when you try to change your password, you never receive the email because it goes to an address you no longer have access to.

Luckily, there’s another way, and you can reset your WordPress password from phpMyAdmin. This method can be a bit overwhelming for new users, but it’s your best hope for regaining access to your admin area.

Problems with Plugins

You may be locked out of your WordPress site due to a faulty plugin or theme. This may be the case if you can’t log in to WordPress admin after installing a new plugin, or if the error message mentions ‘wp-content/plugins/’.

Deactivate All Plugins

To regain access to your site you’ll have to temporarily disable your plugins. You can do that using FTP or phpMyAdmin by following our step by step guide on how to deactivate all plugins when not able to access wp-admin.

Lost Admin Privileges

Sometimes, you may be able to login to your WordPress admin, but you don’t see any of the admin functionality. For example, you don’t have access to your themes or plugins.

This can happen if your user permissions were modified. It could be that hackers have infected your site and then deleted your admin privileges.

In this case, you should add an admin user to the WordPress database via MySQL (phpMyAdmin).

Add an Admin User via MySQL

Hacked WordPress Site

If you do suspect that your site has been hacked, then there are other steps you may need to take.

A hacked website may look different, display different content, or automatically play music or other media. Worse still, it may be infecting your visitors with viruses, so you need to act quickly.

Start with our beginner’s guide on how to fix your hacked WordPress site. We’ll show you how to identify the hack, restore your site from a backup, and remove any malware.

After that, you should protect your site from future attacks. We show you how to do that in our ultimate WordPress security guide .

Login Page Refreshing and Redirecting

Login Page Refreshing and Redirecting

Another type of login error is when your WordPress login page keeps refreshing and redirecting it back to the login screen.

This can happen because of incorrect values for the site URL and home URL fields in the WordPress options table. It can also be caused by poorly configured permalink settings or redirects setup in the .htaccess file.

To fix this problem, check our guide on how to fix WordPress Login Page refreshing and redirecting issue.

‘This Has Been Disabled’ Error

When you try to log into your WordPress admin area, do you see the error ‘This has been disabled’? This message is displayed when you have gone to the wrong admin address.

A common WordPress security practice is to change the default admin login URL (domain.com/wp-admin) to something custom. This can help prevent hackers and bots from hammering your login URL trying to gain access.

If you forget that the URL has been changed and go to the old one, then you’ll see this error message. If you’ve forgotten the correct address, then you should check our beginner’s guide on how to find your WordPress Login URL.

‘Briefly Unavailable for Scheduled Maintenance’ Error

'Briefly Unavailable for Scheduled Maintenance' Error

Are you seeing the ‘Briefly unavailable for scheduled maintenance’ error in WordPress? This error usually appears while updating WordPress core, plugins, or themes.

But if your WordPress site fails to finish the update, then you are left stuck in maintenance mode.

To fix the problem, you should check our guide on how to fix the Briefly Unavailable for Scheduled Maintenance error in WordPress. The guide will also explain why the error happens and how to avoid it in the future.

PHP Syntax Errors

PHP Syntax Errors

PHP errors can happen after you paste a code snippet from a WordPress tutorial or website. The wrong code can stop your website from working properly so that you can’t log in.

Often beginners use the built-in WordPress editor from their dashboard. That feature is handy, but can lead to disaster if you don’t know what you are doing.

That’s why we wrote our beginner’s guide to pasting snippets from the web into WordPress.

If you’re locked out of your WordPress admin because of a code snippet, then you’ll have to fix the problem manually using an FTP program to access your files. If you’re not familiar with FTP, then check our beginner’s guide on FTP.

After you connect to your WordPress site using the FTP software, you should follow our guide on how to fix syntax errors in WordPress to correct or remove the code that you added.

We hope this tutorial helped you log into your WordPress admin area. You may also want to learn how to choose the best WordPress hosting, or check out list of must have plugins to grow your website.

If you liked this guide, then please consider subscribing to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post What To Do When You Are Locked Out of WordPress Admin (wp-admin) appeared first on WPBeginner.

Importance of Transit Gateway in Anypoint Platform

Introduction

Anypoint Platform is multitenant integration platform as a service and it is used for wide use cases. MuleSoft introduce and keep enhancing the Anypoint Platform and recently they have added Transit Gateway as a part of Anypoint Platform. 

Transit Gateway acts as a Cloud Router in AWS and simplify the network access between VPC's, on premise data centers and third party software. It generally merge the on premise and cloud network into single network topology. You can add multiple transit gateway in your Anypoint Organization and that is completely depends on number of the Transit Gateway entitlement with your organizations.

To create Transit Gateway on Anypoint Platform, Anypoint Virtual Private Cloud and AWS Transit Gateway must exists in the same region. One of the main advantage of the Transit Gateway to simplify the network topology and merge all the network (On Premise or Cloud) to act as a single network topology.

With AWS transit gateway, you can connect on premise, cloud resources and also establish the connection with Direct connect and using Anypoint Transit gateway within Virtual Private Cloud you can connect AWS transit gateway.

Open Networking for Network Switches – How the Open-Source DENT Project Levels the Playing Field

The promise of an open-source networking operating system (NOS) is enticing. Compared to legacy networking (Cisco, Arista, Juniper) which is proprietary, expensive, and complex to operate, the open networking model is disaggregated, easy to automate, and provides major cost reductions. 

An open-source NOS could give segments like data centers, retail, remote offices, and campuses an alternative solution that has significantly reduced the cost of goods and services (COGS), reduced integration time, wide access to hardware, and provides support with existing Linux toolchains, using, for example, the Ethernet switch device driver model Switchdev as infrastructure with value add apps on top.

Top 4 Hybrid Mobile App Development Frameworks

Corporates need access to valuable data at their fingertips in the digital world. To control their digital exposure and address crucial issues on the go, more and more organizations are transitioning from desktop websites to mobile applications. Firms have their frameworks and objectives and acquiring the appropriately customized technology stack will help you climb the ladder of success.

A significant number of hybrid mobile app development frameworks have emerged due to the current transformation in the app development market. Each one has its own set of apps, functionality, and design. Working with hybrid mobile app frameworks provides convenience to developers since they can write code once and develop mobile apps that run on several platforms without any additional effort. The importance of mobile apps in a digital transformation strategy is well understood, as they assist businesses to increase efficiency, growth, and return on investment.

Final Year Projects for CSE in Takeoff Projects

The era of technology is ever-changing, and therefore the industries demand employees who can come up with the simplest idea during this field will lead that into the highest place. Companies are having their constant competition for getting their company grownup, and they have to decide who are having the technical mindset, and they will choose at tech area. We will discuss the simplest computing engineering Final Year Projects for college kids to know the sector well. It's a real enthusiast who will immerse himself within the exclusive of all the projects. The ultimate year projects for Computing Engineering Students are picking it up machinery which will add to the present scenario of technology. All the projects are one among a sort, Takeoff Projects made it easier by providing a quick about all of them.

Why should do the final year students do projects?

The final year of engineering consists of two semesters during which students are asked to organize a module to point out their learning throughout their academics. This year is that the most vital one as skills are tested and judges supported performance. Students start applying to varied companies during this year, and it gets essential for them to showcase their talent through a project at hand.

Companies test the scholars supported this very project so, during the ultimate year learning projects becomes a crucial task.
Students often get confused while selecting a project, therefore they either find themselves selecting the foremost common or an uneventful one. The ultimate year students are ideally recommended picking their projects carefully, as this may reflect in their profile for seeking jobs. Allow us to see how students can get ideas on selecting projects.

How students can choose the projects?

Computer projects are mainly based on your skillset on programs and knowledge to implement. A number of the foremost coveted computing skills within the modern industry include coding, computation, processing, network information security, web architecture, algorithm design, storage systems & management, and mobile development. Learning these skills exposes new and exciting employment opportunities within the present and future workforce. So, if you're a computing beginner, then you have to firstly focus on the real-time projects which already been done.

Some of the finger-picked projects for easy to understand and can be useful for your seeking job:
IoT Based Air Pollution Monitoring for Smart Cities with Raspberry Pi
Searchable Symmetric Encryption With forwarding Search Privacy
Energy-efficient Query Processing In Web Search Engines
A Highly Efficient Side-Channel Attack With Profiling Through Relevance-learning On Physical Leakage Information
Collusion Defender: Preserving Subscribers Privacy In Publish And Subscribe Systems
Revocable Identity-based Broadcast Proxy Re-encryption For Data Sharing In Clouds
Privacy-preserving Attribute-based Keyword Search In Shared Multi-owner Setting
Towards Achieving Keyword Search Over Dynamic Encrypted Cloud Data With Symmetric-key Based Verification
Madam: Effective And Efficient Behavior-based Android Malware Detection And Prevention

Engineers and programmers also use equivalent microcontroller boards for creating for their use of projects and for learning purposes. We are researched and created an inventory of the top 5 microcontroller projects are available, to teach practically by experts in Takeoff Projects.
In Takeoff Projects, Experts in wireless communication projects are designed to assist engineering students in their area of wireless project research and development. The following list consists of, some of the communication projects in wireless for engineering students to implement electronics communication systems with ease and by our guidance shown to your future implementation of projects in a wireless network.

how can I add a counter variable loop for n?

#include <iostream>
using namespace std;
int main()
{
    int a, b;
    char c, d;
    cin >> a >> b >> c >> d;

    for (int row = 1; row <= a; row++ ){
        cout << c;
        for (int cols = 1; cols <= b; cols++){
            cout << d;
        }
    }
    cout << c;
}
// this code outputs 
Sample Input 
10 4 | -
10 is the number of interval
4 is the width of an interval
/ is the major mark
* is the minor mark
Sample Output 
|----|----|----|----|----|----|----|----|----|----|

I want to add another loop that when you type 'n' as a major mark
the output would be:
Sample Input
3 2 n x
Sample Output
0xx1xx2xx3

'n' value are numbers from 0, 1, 2, 3... and so on.

Generate Image Thumbnail Using Azure Computer Vision and Logic Apps

This video tutorial walks you through the complete end-to-end flow on how one can generate a thumbnail from an image using Azure Cognitive Services - Computer Vision API. The workflow starts by adding an image into Azure Storage, passing it to Computer Vision, and storing the generated thumbnail back to Azure Storage and all this is achieved without writing even a single line of code. 

On the technology front, it uses Azure Computer Vision API, Azure Blob Container, and Logic Apps. 

Hi everyone, I’m avita123

https://www.avitajewellery.co.uk/collections/diamond-shoulder-engagement-ring

Jewellery has always been in my life. My earliest memories are of visiting my Dads jewellery store in Barbican, only a few minutes walk from where I work today. As a kid I used to love going to the shop during the school holidays. I would try and sell jewellery or watches to customers (I dont think I was very good at it back then). My favourite tasks were when I helped my dad in the workshop where I did everything from melting gold to polishing and cleaning the jewellery after it had been worked on. I learned to judge a diamond by the four Cs - clarity, colour, carat and cut and how to repair and create precious jewellery. Of course I did all the normal things that schoolboys do, like playing football, but it pretty soon became obvious that my nifty chip shot wasnt going to take me to the FA Cup Final. Dad closed his shop when I was 16 but my passion for jewellery work remained - at university I had a part time job at a High Street jeweller and later I worked at Tiffany & Co, one of the worlds foremost jewellers. One day I realised that the time had come to go solo, to see how my creations would fare in the world.

Hi everyone, I’m orbis123

https://orbisenvironmental.com/ergonomics-and-manual-handling-assessments/

Orbis is the UK based Environmental and Safety consultant providing services like DSEAR, Fire Risk Assessment, HAVS Assessment, Ergonomics, and Manual Handling Assessment, Face Fit Testing, Fire Extinguisher, PAT Testing, Workplace Exposure Monitoring, and Legionella. The Dangerous Substances Explosive Atmosphere Regulations 2002, sets out that companies with potential explosive atmospheres, need to adhere to regulations within their business , to ensure they are compliant. We offer a very cost efficient Fire risk assessment service. With competent and experienced fire risk assessors and the required insurance coverage. Ryan has embedded the determination of doing more than that of a consultant with all of Orbis clients, to make the client feel that we are an extension of your business not advisors explaining what needs doing - but rolling up our sleeves and doing the work with you.

Hi everyone, I’m ptl123

[https://pinetreelane.com/collections/cabinets]
Home Theres really no place like it and furniture plays a big role in how it looks and feels. Whether youre looking to fit out an entire house or add an accent piece, Pine Tree Lane will transform a house to a home, the ordinary to the extraordinary. From custom furniture and bespoke kitchens to tailor made doors and personalized wardrobes- you can think of us as your one stop custom furniture destination.