I have a WordPress site with the CFormsII plugin installed using AJAX. I've been researching and trying to find out how to integrate Google event tracking code. I've found multiple examples but nothing that works.
About the closest I've gotten is finding the JavaScript code to call the event, I just can't find out where to put it
_gaq.push(['_trackPageview', '/cforms-goal/']);
I've tried echoing this out with script tags in the my-functions.php file in both my_cforms_ajax_filter($params) and my_cforms_action($cformsdata) but whenever I add in the echo statement, I receive the "One moment please..." And nothing gets submitted and the event isn't tracked.
I'm sure this is probably my lack of understanding of what's going on with the AJAX request. Maybe I can't echo out the JavaScript there? Maybe it boils down to how can I execute JavaScript code from the my-functions.php file?
I had the same problem and the solution I came up with was to create a new ok page and in core form admin/email options I checked Enable alternative success page, and I specified this new page as an alternative page.
Later, in google analytics I set up a new goal by url, setting this new page as a goal.
Hope it helps
Related
I want to load more images in my website when I reach the bottom of my page. I'm using php and postgresql as my database.
For this post I simply load some text instead of image. I can write the code for it's equivalent.
So currently, I'm using a button at the bottom of my page, which when pressed re-loads the page and gives you more images(I'm displaying 50 images at a time).
But there are 2 problems with it, one being that the user will have to press the button again and again while I want it to happen automatically.
And the second one being that when new images are loaded, the previous ones are gone. I don't want to happen. For eg., if currently 1-50 images are present, my page later changes it to 51-100 while I want it to have all 1-100. I'm unable to solve this.
Please help. Thanks!
What you are looking for is commonly referred to as "infinite scroll pagination", while what you're asking for is techniclly possible using only PHP it would be a terrible user experience, as each reload would take the user to the top, and they would constantly have to continuously scroll further and further just to reach the location they were previously at.
Alternatively, handle this with JavaScript, an example: https://infinite-scroll.com/demo/full-page.
Doing simple Google searches reveals a plethora of options for JavaScript and JQuery plugins to achieve this.
An alternative, without the need for a plugin you can implement the answer to this:infinite-scroll jquery plugin
Simply call your PHP code in the form of an AJAX request when the bottom of the page is reached and append your new results. (this could be easily achieved with vanilla javascript as well).
Hope this helps.
I'm trying to pull a piece of data from the website www.coinmarketcap.com
specifically, the market cap number up the top.
I've been trying to figure this out the past hour or so and have read MANY different ways people use these web scrapers but have not been successful at all. Could someone shed some light?
There are multiple ways, but the easiest is just take their url:
https://files.coinmarketcap.com/generated/stats/global.json
Please note: They might not like this. Maybe they dont want external parties to use their scripts. So also buidl a check wether the file still exists and doesnt give a 403 back.
How did I find this:
When the page loads,the header with the information loads after the document ready, so it can not have been made by the server and has to be AJAX.
Now we know that it is AJAX, we want to know which file. You do this by opening your browsers console. All browsers have a network tab, showing all resources being loaded. When you filter by XHR you see all AJAX request. Then you try to find the right one.
Intro: I'm a newbie on both php and Javascript and have been trying to solve this issue for my site (another version of this issue here), but have had trouble putting into effect the answer by LocalPCguy.
(in short: the issue is that with infinite scroll activated, the social buttons work on the first posts that are loaded, but do not work for posts loaded subsequently).
I am working off of a WordPress them, and I've added my social buttons to an existing php file that generates most of the appearance of each post. I seem to be adding them to the right place because the buttons appear where I want them to on each post (only for the first ones on the page). Like the other two guys who posted about this problem, I am using digg digg as my social plugin.
Currently the code in the php file that generates the social buttons looks something like this:
<div class="sharing-button">
<?php dd_google1_generate('Compact (20px)') ?>
</div>
Like I said, this makes the button appear for the first posts that are loaded, but once the infinite scroll tries to load additional posts, the social button will not appear on those posts.
For now I have tried the following:
Add the code below just above or below (taken from the answer here), or inside my <div> containing the buttons in the php file.
if (typeof gapi !== "undefined") { gapi.plusone.go(); }
That didn't work I figured it was because a .php file would need some kind of signal to know that it needs to run a javascript operation. So I looked around and found a couple suggestions on how to do this, here and here. In neither case did I manage to get the buttons to appear appropriately. Below was what seemed like the least idiotic of those attempts:
<?php
echo '<script type="text/javascript">
if (typeof gapi !== "undefined") { gapi.plusone.go(); }';
echo '</script>';
?>
I also thought perhaps I needed to pass an argument into gapi.plusone.go(), and I tried passing my sharing-button <div> above, but that did not work either (php code inside a javascript script inside a php block... didn't have high hopes).
At this point I'm not sure what to do - I feel like the solution is probably quite simple but I'm completely stuck, having spent hours reading threads about javascript integration into php and the like.
Does anyone have an idea how I can go about applying that Javascript solution to my .php dependent Wordpress theme?
Many many thanks!
Short Answer: this is not possible.
Long Answer:
FIRST comes PHP, SECOND comes javascript.
The PHP "program" is run at the Server, which is you web provider's server. This server works out all the PHP stuff. After this one is finished, the files of the Website are sent to your computer. It contains, among other stuff, javascript.
And this javascript is only run on YOUR computer, the one you're looking at. Once your Browser loaded the page and starts running javscript, it's already too late to ask the Server for some more info.
There are techniques allowing for that (AJAX is the Keyword), but that's another question :-)
You need to initiate the javascript of the buttons for them to work since infinite scroll loads the next set of posts using ajax. One example I found but it only does it for facebook if the plugin uses FBML:
$(document).ajaxComplete(function(){
try{
FB.XFBML.parse();
}catch(ex){}
});
I'm using a custom implemented Like Box from facebook and infinite scroll and this works just fine.
I want to put Google Analytics code after people signup AJAX contact form.
If I put this in PHP file that gets submitted by AJAX post request. Do you think this will trigger this javascript codes when it runs?
In theory, you could create a results page that contains your Analytics code. On getting back results from Ajax dynamically create an iFrame that loads your results page. Set the iFrame's display attribute to none (e.g. style="display:none;").
This should have the results page show up in your Analytics stats without visitors to the site seeing it.
Edited to add: Google's official approach is documented here: https://support.google.com/analytics/bin/answer.py?hl=en&answer=1033068
It's less of a hack than the above :-)
I'm trying to integrate a form like this into Wordpress
This form works perfectly with the PayPal API sandbox. However, when I tried to move this work over to the WP site of my organization, globalcitizenyear.org/donate/donation-form-2/, I keep coming up short.
Anyone have any tips to keep in mind when doing this? What steps would you take first to make this happen in Wordpress - any details on what to avoid, or what potential hangups might be?
Make a page called page-donation-form-2.php and load this code into it. You can leave in the get_header() and get_footer() tags if you want to have the site wrapper around the outside.
Make sure to change your form action also. And remember, that since this is in WordPress now, you will need to avoid some reserved form elements. Full list here.
If you have any trouble, please post your code here.