Support » Plugin: Woody ad snippets - Insert Header Footer Code, AdSense Ads » How to use this ? I get an error

  • Resolved astrasuite

    (@astrasuite)


    Hi,

    I still don’t understand how to set this up.

    Previously, it was simply putting the code between insert_php. For example, I use the code below to fetch pictures from an external database to show in wordpress. I used this code in the post http://www.astrasuite.com/astrablog/pathos-ethos-integrated-amplifier/, works perfectly. I use a similar code in many posts.

    [insert_php]
    include “../client-system-albums/cpmfetch/cpmfetch.php”;
    $objCpm = new cpm(“../client-system-albums/cpmfetch/cpmfetch_config.php”);
    $objCpm->cpm_unlock_private(true);
    $options=array(imagesize => “thumb”, imagelink => “large”, imagewidth => “128”, imageheight => “128”, windowtarget => “_blank”, “alttag” => “{{pTitle}}”, “tablestyle” => “center-css-table”, “cellstyle” => “center-text”);
    $objCpm->cpm_viewLastAddedMediaFrom (“album=331”,30,5,$options);
    $objCpm->cpm_close();
    [/insert_php]

    So, how to use this in the new PHP Snippets ? I was thinking, am I supposed to create/add a new snippet, and put the code which is in between insert_php into this snippet ? Then later call it with [wbcr_php_snippet id = “xxx”] ?

    I tried, but when I clicked on Publish, it came out with an error :

    Don’t Panic
    The code snippet you are trying to save produced a fatal error on line 2:

    Class ‘cpm’ not found
    The previous version of the snippet is unchanged, and the rest of this site should be functioning normally as before.

    If I publish it including both the opening and closing insert_php, it gets published without any error. It doesn’t work though with the insert_php included in the snippet.

    Thanks

    The page I need help with: [log in to see the link]

Viewing 12 replies - 1 through 12 (of 12 total)
  • Hi, Alex,

    any help ? The code below when placed on a snippet cannot be saved, as mentioned in the above post.

    Thanks

    `include “../client-system-albums/cpmfetch/cpmfetch.php”;
    $objCpm = new cpm(“../client-system-albums/cpmfetch/cpmfetch_config.php”);
    $objCpm->cpm_unlock_private(true);
    $options=array(imagesize => “thumb”, imagelink => “large”, imagewidth => “128”, imageheight => “128”, windowtarget => “_blank”, “alttag” => “{{pTitle}}”, “tablestyle” => “center-css-table”, “cellstyle” => “center-text”);
    $objCpm->cpm_viewLastAddedMediaFrom (“album=331”,30,5,$options);
    $objCpm->cpm_close();

    Plugin Author webcraftic

    (@webcraftic)

    Hi,
    Please observe the formatting of the code.
    https://wordpress.org/support/topic/before-creating-a-new-topic-please-read/

    An error indicates that your class is not found. I think you need to use the absolute path to the file, not relative.

    include “../client-system-albums/cpmfetch/cpmfetch.php”;
    $objCpm = new cpm(“../client-system-albums/cpmfetch/cpmfetch_config.php”);

    Where is your file stored in the theme or at the root of your site?

    Best regards, Alex

    I have a primary website and my WordPress is a subdirectory within the website.

    The PHP file I am calling is outside of WordPress, as it is also used by the primary website.

    But why should it not work in PHP Snippets, but works perfectly in insert_php ? Shouldn’t it be the same, then no problems ?

    Thanks

    Plugin Author webcraftic

    (@webcraftic)

    Your code is executed immediately after saving the snippet, so the path to the file is different, because it is not absolute.

    You need to prevent the error by checking the existence of the class. Then the snippet will be saved and this will work on your pages.

    
    include "../client-system-albums/cpmfetch/cpmfetch.php";
    if(class_exists('cpm')) {
    // your code	
    }
    

    Best regards, Alex

    include $_SERVER['DOCUMENT_ROOT'] . "/client-system-albums/cpmfetch/cpmfetch.php";
      $objCpm = new cpm($_SERVER['DOCUMENT_ROOT'] . "/client-system-albums/cpmfetch/cpmfetch_config.php");

    Ok, I have changed the code like above, and it got saved without any error. Is it correct ? I then pressed the activate button.

    But when I run the snippet on the post, it doesn’t load the post anymore, just the heading.

    Like here :

    http://www.astrasuite.com/astrablog/pathos-ethos-integrated-amplifier/

    I did the same change to the code between [insert_php], and it works, as usual.

    It is only when I use the snippet that it doesn’t load the post properly. Of course, I commented out the insert_php and code in between first before using the snippet.

    Well, while waiting, I tried the same snippet using Insert PHP Code Snippet plugin which is similar to your plugin, no problem at all, the snippet runs.

    I have to disable your plugin first before Insert PHP Code Snippet works though, there is a conflict.

    Maybe there is a conflict too with your PHP Snippets plugin and one of my plugins, will have to do several tests, luckily I have Plugin Organizer to easily disable/enable plugins for testing.

    Good to have the old version of Insert PHP.

    • This reply was modified 1 year, 7 months ago by astrasuite.
    • This reply was modified 1 year, 7 months ago by astrasuite.

    Tried disabling other plugins, still the same problem, post not loading completely, only showing header.

    Removed all the code in the snippet, except the 1st line, which is just an include. Still the same problem. The mere presence of the shortcode with my code prevents the post from loading correctly.

    Now changed the code in the snippet to simply :
    echo “Hello World”;

    Wow, this one works ! So what’s wrong with my code ? I used just this line and it won’t load my post :

    include $_SERVER[‘DOCUMENT_ROOT’] . “/client-system-albums/cpmfetch/cpmfetch.php”;

    Help please, thanks !

    • This reply was modified 1 year, 7 months ago by astrasuite.
    • This reply was modified 1 year, 7 months ago by astrasuite.

    I now tried another plugin, Post Snippets, and it works too. So this plugin and Insert PHP Code Snippet plugin both work. I was hoping PHP Code Snippets (Insert_PHP) could work.

    Anyway I will just use the old version of Insert_PHP as I have no time to change many posts into snippets. Then I’ll use Post Snippets moving forward, it can even accept variables to pass.

    Plugin Author webcraftic

    (@webcraftic)

    Hi,

    I think you are very demanding. The plugins you are talking about are already several years old. I can not solve all the problems in 1 day. I will fix all bugs and bugs in the new version of the plugin and continue to develop it so that it is as user-friendly as possible.

    You can still use the old version of the plugin, I’m not forcing you to use the new version, it’s just a recommendation.

    Can you send the contents of the cpmfetch.php file to my mail so that I can check the work?

    My email: wordpress.webraftic@gmail.com

    Best regards, Alex

    I am sorry if I came out as very demanding, it was unintentional, I was just sharing what I have been doing while waiting for your answer.

    Yes I will use the old version in the meantime. It’s ok, I have decided on using Post Snippets plugin going forward, really great. It can accept variables, it works with either relative or absolute path, it can create shortcodes even if not PHP code.

    Is it an old plugin ? Then good that it has longevity, already tested, and it was updated 1 month ago.

    I will be using Post Snippets because it gives me less to do converting my [insert_php] stuff into snippets. It works with all the [insert_php] stuff without changing any code, seamless. Ideally, that should have been the case with your new PHP Code Snippets, but I assume you guys wrote new improved code different from [insert_php], so I understand. Good luck in your supporting.

    Thanks for your help !

    .

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘How to use this ? I get an error’ is closed to new replies.