Forum Replies Created

Viewing 11 replies - 1 through 11 (of 11 total)
  • Thread Starter LukasFritzeDev

    (@lkf_tanzt)

    Hey Clément,

    making your images readable by search engines normally means providing an alt text and/or a title for the images – without executing JavaScript.

    The image on the page /about seems to be inserted with the block wp-block-media-text. This is working because there is no lazyloading for this block.

    Hint: This image has no alt text and a title saying “ABOUT”. I’d recommend using a more descriptive title that describes what’s on the image. Maybe the name of the person ??

    The images in the gallery on /documentary/behind-the-walls are lazyloaded. This means they are not loaded directly on the first rendering of the page, but are included later with JavaScript. Since most search engines don’t execute JavaScript these images are invisible for them. I guess that’s why these pictures aren’t indexed and listed.

    You could try to find another gallery plugin or consult the plugin developers directly in the plugin specific forum.
    If you want to get some more information about lazy loading and SEO this page might help.

    Thread Starter LukasFritzeDev

    (@lkf_tanzt)

    Okay. So everything’s as I expected it to be.

    Thanks for the quick answer.

    Yes, these are all changes i did. Of course i tried some things, but these are the steps the brought me to success. In the end I did only this to the original files and it works – for me.

    I did some research now and at this moment I don’t understand why it works like I did ?? it shouldn’t. It’s a security thing to prevent against SQL injection.

    Try this one instead of the line I postet before. I changed it in my version too.
    $Retrieved_User_ID = $wpdb->get_row($wpdb->prepare("SELECT User_ID FROM $ewd_feup_user_table_name WHERE User_ID=%d AND User_Confirmation_Code='%s'", $User_ID, $Confirmation_Code));

    @pistacho: Maybe step 3 is a hint for you. This made me solve the problem withe the “The confirmation number provided was incorrect. Please contact the site administrator for assistance.” message

    So finaly. i made it work for me.

    I made a few changes in different Files.

    1. Give Send_Email-function the User_ID
    As written above the UserID is always 0. Got to File Prepare_Data_For_Insertion.php in line 96 should be this code:
    if ($Sign_Up_Email == "Yes") {EWD_FEUP_Send_Email($User_Fields, $Additional_Fields_Array);}
    change it to
    if ($Sign_Up_Email == "Yes") {EWD_FEUP_Send_Email($User_Fields, $Additional_Fields_Array, $User_ID);}

    2. Edit the Confirm Link

    This is necessary to get to the “Thanks for confirming”-message an not to the register form again.

    Same file (Prepare_Data_For_Insertion.php) in the function EWD_FEUP_Send_Email there scold be this this lines (145):

    if (strpos($PageLink, "?") !== false) {
    	$ConfirmationLink = $PageLink . "&User_ID=" . $User_ID . "&ConfirmationCode=" . $ConfirmationCode;
    }
    else {
    	$ConfirmationLink = $PageLink . "?User_ID=" . $User_ID . "&ConfirmationCode=" . $ConfirmationCode;
    }

    I changed it like this:

    if (strpos($PageLink, "?") !== false) {
    	$ConfirmationLink = $PageLink . "&ConfirmEmail=true&UserID=" . $User_ID . "&ConfirmationCode=" . $ConfirmationCode;
    }
    else {
    	$ConfirmationLink = $PageLink . "?ConfirmEmail=true&UserID=" . $User_ID . "&ConfirmationCode=" . $ConfirmationCode;
    }

    Explanation:
    In the file Insert_Register_Form i found this line:
    if (isset($_GET['ConfirmEmail'])) {ConfirmUserEmail();}
    It makes that the Confirm-thing is only done if there is a ConfirmEmail set in URL.

    This brings me to another solution:
    Simply change this line to:
    if (isset($_GET['ConfirmationCode'])) {ConfirmUserEmail();}
    This checks if there is a ConfirmationCode in the Link, so you don’t need a ConfirmEmail anymore. (not tested)

    3. Change select-wuery to set confirm status

    Got to the File Process_Front_End_Forms.php. On the End of this file is the function ConfirmUserEmail. On the beginning of this function there are these three lines:
    $User_ID = $_GET[‘UserID’];
    $Email_Address = $_GET[‘ConfirmEmail’];
    $Confirmation_Code = $_GET[‘ConfirmationCode’];`
    The names in the GETs should be exactly the same like in the URL (step 2).

    The next line should be this:
    $Retrieved_User_ID = $wpdb->get_row($wpdb->prepare("SELECT User_ID FROM $ewd_feup_user_table_name WHERE User_ID=%d AND User_Confirmation_Code=%s", $User_ID, $ConfirmationCode));
    change it to:
    $Retrieved_User_ID = $wpdb->get_row($wpdb->prepare(“SELECT User_ID FROM $ewd_feup_user_table_name WHERE User_ID=” . $User_ID . ” AND User_Confirmation_Code='” . $Confirmation_Code . “‘”));

    <em>Note for the Developers:</em>
    Most mistakes come because of different names of variables. Sometimes you’re using ConfirmationCode, sometimes Confirmation_Code. Maybe it would be nice idea to name the same thing always the same ??

    PS: Thanks to Pistacho for your help. For me it also works without changing $ConfirmationCode = EWD_FEUP_RandomString();.

    In my Databese the Confiramtion Code is exactly the same as in the link. I have tested this allready

    Yes, I think so,
    https://[…%5D.de/%5B…%5D/registrieren/?User_ID=9&ConfirmationCode=TP0Yn

    I just found another thing:
    In the file Insert_Register_Form.php on line 19 i found the following code:
    if (isset($_GET['ConfirmEmail'])) {ConfirmUserEmail();}

    I think this isset is false cause there is no ConfirmEmail in the Link.
    Because of this I set my Link to […]/registrieren/?ConfirmEmail=true&User_ID=9&ConfirmationCode=TP0Yn
    This seams to work. Almost. It brings the following result:
    The confirmation number provided was incorrect. Please contact the site administrator for assistance.

    positve:
    the registration form don’t shows up
    negative:
    the confirmation-code doesn’t match XD

    Iim going to try different things in ConfirmUsersEmail-function now. Maybe i’ll finde something.

    It was worth a try … XD

    The ConfCodeString looks like this now: ConfirmationCode=nsWE4

    But I recognized another error: For any user it shows up this:
    /?User_ID=0&ConfirmationCode=…

    The User ID is always 0 as its declared in the Header of the EWD_FEUP_Send_Email-method. I did some research an found the following line (96) in the same file inside the Add_Edit_User-method where this method is called:

    if ($Sign_Up_Email == "Yes") {EWD_FEUP_Send_Email($User_Fields, $Additional_Fields_Array);}

    Since I change it to
    if ($Sign_Up_Email == "Yes") {EWD_FEUP_Send_Email($User_Fields, $Additional_Fields_Array, %User_ID);}
    the User_ID in the Confirm-Link is correct.

    But the problem is still there. The Confirm Code in the Database is correct (the same as in the link), but loading the page doesn’t sets the field User_Email_Confirmed to yes.

    Searching goes on …

    I have exactly the same problem. Confirmation shows up in the Email, but the link just takes me to a empty registration form.

    @pistacho: would you like to share your code with us, so we can quick fix it too? It would be awesome ??

    I tried exactly the same.

    You just have to place your translation in the folder called lang and the files should be named like this:

    • EWD_FEUP-de_DE.po
    • EWD_FEUP-de_DE.mo

    This is how it worked for me.

Viewing 11 replies - 1 through 11 (of 11 total)