Many posts here or somewhere else contain code, but they do not say where to put it.
Example:
I have found this post: How do I turn off 301 redirecting posts (not canonical)?
I'm a newbie with PHP. Where exactly should I place the code from the answer?
Many posts here or somewhere else contain code, but they do not say where to put it.
Example:
I have found this post: How do I turn off 301 redirecting posts (not canonical)?
I'm a newbie with PHP. Where exactly should I place the code from the answer?
- 1 I took the liberty to make your question less localized, so we have a post in the future that answers similar questions. If you think that is not okay, use the rollback link in the edit history. – fuxia ♦ Commented Nov 11, 2012 at 10:35
- 1 You could also try leaving a comment on that question and ask there. – JimmyPena Commented Aug 2, 2013 at 22:07
4 Answers
Reset to default 36Whenever you find a piece of code without clear installation instructions it is probably a plugin. The example you gave is a good one, because that is the most common case:
add_action('template_redirect', 'remove_404_redirect', 1);
function remove_404_redirect() {
// do something
}
To use such a snippet, put it into a plugin:
- Create a new file, name it for example
remove_404_redirect.php
. Write simple plugin headers into the file at the very beginning. Use the URL where you found the code as
Plugin URL
and the code author asPlugin Author
:<?php /** * Plugin Name: Remove 404 redirect * Description: Disable redirects to similar posts. * Plugin URI: https://wordpress.stackexchange/questions/44740/how-do-i-turn-off-301-redirecting-posts-not-canonical * Author: William * Author URI: https://wordpress.stackexchange/users/9942/william */
Put the code you want to use below the plugin headers.
- Install the new plugin.
That’s All Folks.
You could add the code to your theme’s functions.php
. But that is not a good idea:
- Usually, the code is not intended to change the visual representation of your site’s data. But that is the only purpose of a theme. Do not mix responsibilities.
- Code in the
functions.php
cannot be turned off separately. If the code breaks one day you have to edit thefunctions.php
again, or you have to switch themes. If you want to use another theme, you have to copy & paste all that code again. - If you put more and more snippets into the
functions.php
you get a unmaintainable mess over time.
Related: Where to put my code: plugin or functions.php?
I'm the developer of plugin which allows you to add code snippets to a WordPress site through an admin interface.
It adds a graphical interface, similar to the Plugins menu, for managing snippets. Snippets can be activated or deactivated, assigned a name and description, and categorised using tags. They can also be backed up and transferred between sites using the import/export feature.
More screenshots
You can learn more about the Code Snippets plugin on WordPress and see its code on GitHub.
The code referred to in the link is to be placed in the functions.php file of your theme, not in canonical.php. You should always avoid modifying core WP files. You don't need to overwrite or comment out any other code.
Make a backup of your functions.php file before editing it, as even a simple syntax error in the functions.php can take down your whole site.
If you are using Jupiter WordPress Theme, you can do it by adding the code snippets to your child theme functions.php and start overriding the hooks, filters, and shortcodes as described here:
https://themes.artbees/docs/overriding-shortcodes/