Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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?

share|improve this question
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. –  toscho Nov 11 '12 at 10:35
1  
You could also try leaving a comment on that question and ask there. –  JimmyPena Aug 2 '13 at 22:07
add comment

3 Answers 3

Whenever 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:

  1. Create a new file, name it for example remove_404_redirect.php.
  2. 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 as Plugin Author:

    <?php
    /**
     * Plugin Name: Remove 404 redirect
     * Description: Disable redirects to similar posts.
     * Plugin URI:  http://wordpress.stackexchange.com/questions/44740/how-do-i-turn-off-301-redirecting-posts-not-canonical
     * Author:      William
     * Author URI:  http://wordpress.stackexchange.com/users/9942/william
     */
    
  3. Put the code you want to use below the plugin headers.

  4. 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 the functions.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?

share|improve this answer
    
Thank you! It worked like a charm. And thanks for making the post less localized. How do I share my plugin file with others? –  Carl Nov 11 '12 at 14:43
1  
You could publish it on wordpress.org or on a free code hosting service like GitHub (mine are here and here). But I would ask the author before I’d do that. To indicate that an answer solved your problem click the little check mark ✔ on that answer, so other readers see it immediately. –  toscho Nov 11 '12 at 14:46
    
In making a plugin like this, do I need to put the file in a folder and compress/zip it, or would plugin installer work with a standalone php as well? –  OC2PS Oct 13 '13 at 18:34
    
Also, would making a plugin with a simple, single statement like add_filter( 'flush_rewrite_rules_hard', '__return_false' ); work? –  OC2PS Oct 13 '13 at 18:34
1  
@OC2PS No, the end of the file is the end of the program. –  toscho Oct 13 '13 at 18:45
show 2 more comments

There is a plugin which I have created that will allow you to add code snippets to your site through your dashboard.

You can use a graphical interface similar to the Plugins menu to manage your snippets. Snippets can be activated or deactivated, and can be assigned a name and description. Snippets can be transferred between sites or backed up using the import/export feature.

Managing existing snippets

Editing a snippet

More screenshots

You can learn more about the Code Snippets plugin on WordPress.org or on its website, or contribute to its development on GitHub.

share|improve this answer
add comment

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.

share|improve this answer
    
I didn't want to modify any core WP files. Thank you for your help. –  Carl Nov 11 '12 at 14:55
6  
@Carl He clearly states to not modify core files. Sad that I can't downvote comments... –  kaiser Jan 5 '13 at 4:41
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.