Skip Navigation

[Resuelto] Allow user select background color or upload background image

Este hilo está resuelto. Aquí tiene una descripción del problema y la solución.

Problem:

Allow the user select the background color of his custom post or upload a background image.

Solution:

It needs custom JS/CSS codes, see user's solution here:

https://toolset.com/forums/topic/allow-user-select-background-color-or-upload-background-image/#post-1108117

Relevant Documentation:

This support ticket is created hace 6 años, 2 meses. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Hoy no hay técnicos de soporte disponibles en el foro Juego de herramientas. Siéntase libre de enviar sus tiques y les daremos trámite tan pronto como estemos disponibles en línea. Gracias por su comprensión.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: Asia/Hong_Kong (GMT+08:00)

Este tema contiene 11 respuestas, tiene 3 mensajes.

Última actualización por davidZ-4 hace 6 años, 2 meses.

Asistido por: Luo Yang.

Autor
Mensajes
#1100682

Tell us what you are trying to do? allow the user select the background color of his custom post or upload a background image

Is there any documentation that you are following? i couldn't find something on this

Is there a similar example that we can see?

What is the link to your site?
enlace oculto

i would like to give the user the ability to choose his custom post background color or allow for a background image the user can upload.

Thanks,

David

#1101549

Minesh
Supporter

Idiomas: Inglés (English )

Zona horaria: Asia/Kolkata (GMT+05:30)

Hello. Thank you for contacting the Toolset support.

Well - do you mean that you want to have a custom field which holds the color and when you display the posts belongs to any post type - you want to assign that selected color as background color?

#1101801

Hi Minesh,
yes, something like that.
the idea is to have a front end form (CRED) that will allow the user choose a background color or a background image.
the user will select the color or upload the image to a custom field created with types.
then based on the color or image selected/uploaded the background of the post will change.
the post is created by the user and can be edited by the user using toolset front end forms (CRED)

Thanks,

David

#1102407

Minesh
Supporter

Idiomas: Inglés (English )

Zona horaria: Asia/Kolkata (GMT+05:30)

Do you mean that the form will be User form? or you mean that with whatever post created by whatever user - with CRED form user will select color/image and that image should be displayed as background?

so - the thing is that, to save the color value or image when user submit the post is not an issue but the thing is that how you apply that selected color/image as background as you need to adjust your theme/html when post displayed. This is something you need to handle on your own OR I need information which theme you are using and how you displaying the post. If I see there is a easy way I can certainly help you.

Could you please share the page URL from where the user will add the new entry using CRED form and access details.

*** Please make a FULL BACKUP of your database and website.***
I would also eventually need to request temporary access (WP-Admin and FTP) to your site. Preferably to a test site where the problem has been replicated if possible in order to be of better help and check if some configurations might need to be changed.

I would additionally need your permission to de- and re-activate Plugins and the Theme, and to change configurations on the site. This is also a reason the backup is really important. If you agree to this, please use the form fields I have enabled below to provide temporary access details (wp-admin and FTP).

I have set the next reply to private which means only you and I have access to it.

#1106577

Minesh
Supporter

Idiomas: Inglés (English )

Zona horaria: Asia/Kolkata (GMT+05:30)

Well - its not possible directly but you need to use custom styling and assign the value of background color or image.

I see currently with the following post for example, the background image is setup with Body clasee:
=> enlace oculto

You need to find a way to override the Body class and assign the background color/image value of your custom field.

Something like this:

<style type="text/css">
body {
background-image: url('[types field="post-bg-img" size="full" url="true"][/types]');
}
</style>

More info:
=> enlace oculto
=> enlace oculto
=> enlace oculto

#1108067

Thank Minesh,
this is a good direction
i was able to find the Custom CSS location for the Content Template I created with Divi and used the following css in it

body.custom-background {
background-color: #000000;
background-image: url('[types field="post-bg-img"][/types]');
}

however the css does not resolve the shortcode to the image URL
when i inspect the page I see that the css is

body.custom-background {

    background-color: #000000;
    background-image: url('[types field="post-bg-img"][/types]');
}

When I hard code the image url like this

body.custom-background {

    background-color: #000000;
    background-image: url('<em><u>enlace oculto</u></em>');
}

the page render with the defined image.

I then stooped using the Divi builder for the content template and tried to insert the same in the Toolset Content Template CSS editor with the following

body.custom-background {
    background-color: [types field='post-bg-clr'][/types];
    background-image: url('[types field='post-bg-img' output='raw'][/types]');
}

with no success

any thoughts why the image shortcode does not resolved in the css?

#1108107

also, I tried to use the JS editor in the toolset content template as follow

$('body').css('background-image', 'url("[types field='post-bg-img' output='raw'][/types]")');

with no success.
when I use

$('body').css('background-image', 'url("<em><u>enlace oculto</u></em> ")');

it works just fine

so again for some reason the shortcode does not resolve to the url in the JS nor the css

please advise,
thanks,
David

#1108109

oh, i forgot the JS run locally and not on the server...
so how do I do_shortcode in side JS?

or can you think of something else to resolve this.

#1108117

I tried another workaround: load the values on the page in hidden element and call the values using JS but i'm not sure i have this nailed down.
on the content template i used

<p id="bgimg" hidden>[types field='post-bg-img' output='raw'][/types]</p> 

and in the JS i used

var imbg = (document.getElementById("bgimg").innerText);
$('body').css('background-image', 'url(imbg)');
#1108168

Hello,

Minesh isn't available, I will take care of this ticket.

Yes, you are right, your workaround have this nailed down.

Thanks for share the solution, that will help other users.

#1108272

Hi Luo,
Thanks for the comment however my workaround doesn't work.
Something is not working and i need help on this.

Please advise,
Thanks,

David

#1108534

Hi Luo,
I Was able to fix my JS code and now the workaround works...

Thanks,

David