{"id":21752,"date":"2025-07-21T16:58:22","date_gmt":"2025-07-21T20:58:22","guid":{"rendered":"https:\/\/new2.mylpan.cl\/wpcode\/fragmento-de-codigo-sin-titulo\/"},"modified":"2026-02-09T14:06:24","modified_gmt":"2026-02-09T17:06:24","slug":"fragmento-de-codigo-sin-titulo","status":"publish","type":"post","link":"https:\/\/mylpan.cl\/?p=21752","title":{"rendered":"Fragmento de c\u00f3digo sin t\u00edtulo"},"content":{"rendered":"<p>const reemplazosLogin = setInterval(() => {<br \/>\n  \/\/ Reemplazo 0: span.login-form-title con texto &#8220;Sign in&#8221;<br \/>\n  const loginSpan = document.querySelector(&#8220;span.login-form-title&#8221;);<br \/>\n  if (loginSpan &#038;&#038; loginSpan.textContent.trim().toLowerCase() === &#8220;sign in&#8221;) {<br \/>\n    loginSpan.textContent = &#8220;Iniciar sesi\u00f3n&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ Reemplazo 1: t\u00edtulo de login (h2.login-form-title)<br \/>\n  const loginTitle = document.querySelector(&#8220;h2.login-form-title&#8221;);<br \/>\n  if (loginTitle &#038;&#038; loginTitle.textContent.trim().toLowerCase() === &#8220;login&#8221;) {<br \/>\n    loginTitle.textContent = &#8220;Iniciar sesi\u00f3n&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ Reemplazo 2: t\u00edtulo de registro (h2.register-from-title)<br \/>\n  const registerTitle = document.querySelector(&#8220;h2.register-from-title&#8221;);<br \/>\n  if (registerTitle &#038;&#038; registerTitle.textContent.trim().toLowerCase() === &#8220;register&#8221;) {<br \/>\n    registerTitle.textContent = &#8220;Reg\u00edstrate&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ Reemplazo 3: enlace de registro<br \/>\n  const registerLink = document.querySelector(&#8220;.register-link&#8221;);<br \/>\n  if (registerLink &#038;&#038; registerLink.textContent.trim() === &#8220;Create an Account&#8221;) {<br \/>\n    registerLink.textContent = &#8220;Crear una cuenta&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ Reemplazos dentro del formulario espec\u00edfico<br \/>\n  const loginForm = document.querySelector(&#8220;.ecolive-login-form-ajax&#8221;);<br \/>\n  if (loginForm) {<br \/>\n    loginForm.querySelectorAll(&#8216;label&#8217;).forEach(label => {<br \/>\n      const text = label.textContent.replace(\/\\s+\/g, &#8216; &#8216;).trim().toLowerCase();<\/p>\n<p>      if (text.includes(&#8220;username&#8221;) &#038;&#038; text.includes(&#8220;email&#8221;)) {<br \/>\n        label.textContent = &#8220;Usuario o email&#8221;;<br \/>\n      }<\/p>\n<p>      if (text.includes(&#8220;password&#8221;)) {<br \/>\n        label.textContent = &#8220;Contrase\u00f1a&#8221;;<br \/>\n      }<br \/>\n    });<\/p>\n<p>    const usernameInput = loginForm.querySelector(&#8216;input[name=&#8221;username&#8221;]&#8217;);<br \/>\n    if (usernameInput) {<br \/>\n      usernameInput.placeholder = &#8220;Usuario&#8221;;<br \/>\n    }<\/p>\n<p>    const passwordInput = loginForm.querySelector(&#8216;input[name=&#8221;password&#8221;]&#8217;);<br \/>\n    if (passwordInput) {<br \/>\n      passwordInput.placeholder = &#8220;Contrase\u00f1a&#8221;;<br \/>\n    }<\/p>\n<p>    const submitButton = loginForm.querySelector(&#8216;.btn.btn-primary.btn-block.w-100.mt-1&#8217;);<br \/>\n    if (submitButton &#038;&#038; submitButton.textContent.trim().toLowerCase() !== &#8220;iniciar sesi\u00f3n&#8221;) {<br \/>\n      submitButton.textContent = &#8220;Iniciar sesi\u00f3n&#8221;;<br \/>\n    }<br \/>\n  }<\/p>\n<p>  \/\/ Reemplazo del enlace .lostpass-link en todo el documento<br \/>\n  const lostPassLink = document.querySelector(&#8216;.lostpass-link&#8217;);<br \/>\n  if (lostPassLink &#038;&#038; lostPassLink.textContent.trim() === &#8220;Lost your password?&#8221;) {<br \/>\n    lostPassLink.textContent = &#8220;Olvid\u00e9 mi contrase\u00f1a&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ Reemplazo amplio para todos los labels for=&#8221;username&#8221;<br \/>\n  document.querySelectorAll(&#8216;label[for=&#8221;username&#8221;]&#8217;).forEach(label => {<br \/>\n    const text = label.textContent.replace(\/\\s+\/g, &#8216; &#8216;).trim().toLowerCase();<br \/>\n    if (text.includes(&#8220;username&#8221;) &#038;&#038; text.includes(&#8220;email&#8221;)) {<br \/>\n      label.textContent = &#8220;Usuario o email&#8221;;<br \/>\n    }<br \/>\n  });<\/p>\n<p>  \/\/ Reemplazo amplio para todos los labels for=&#8221;password&#8221;<br \/>\n  document.querySelectorAll(&#8216;label[for=&#8221;password&#8221;]&#8217;).forEach(label => {<br \/>\n    const text = label.textContent.replace(\/\\s+\/g, &#8216; &#8216;).trim().toLowerCase();<br \/>\n    if (text.includes(&#8220;password&#8221;) || text.includes(&#8220;contrase\u00f1a&#8221;)) {<br \/>\n      label.textContent = &#8220;Contrase\u00f1a&#8221;;<br \/>\n    }<br \/>\n  });<\/p>\n<p>  \/\/ Cambio placeholder input con id username y clases espec\u00edficas<br \/>\n  const inputUsernameSpecific = document.querySelector(&#8216;#username.woocommerce-Input.woocommerce-Input&#8211;text.input-text&#8217;);<br \/>\n  if (inputUsernameSpecific) {<br \/>\n    inputUsernameSpecific.placeholder = &#8220;Ingrese su usuario o su email&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ Cambio placeholder input con id password y clases espec\u00edficas<br \/>\n  const inputPasswordSpecific = document.querySelector(&#8216;#password.woocommerce-Input.woocommerce-Input&#8211;text.input-text&#8217;);<br \/>\n  if (inputPasswordSpecific) {<br \/>\n    inputPasswordSpecific.placeholder = &#8220;Contrase\u00f1a&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ Reemplazo texto Remember me en span dentro del label con clases espec\u00edficas<br \/>\n  document.querySelectorAll(&#8216;label.woocommerce-form__label.woocommerce-form__label-for-checkbox.woocommerce-form-login__rememberme span&#8217;).forEach(span => {<br \/>\n    if (span.textContent.trim() === &#8220;Remember me&#8221;) {<br \/>\n      span.textContent = &#8220;Recu\u00e9rdame&#8221;;<br \/>\n    }<br \/>\n  });<\/p>\n<p>  \/\/ Reemplazo texto enlace dentro de <\/p>\n<p> con clase woocommerce-LostPassword lost_password<br \/>\n  document.querySelectorAll(&#8216;p.woocommerce-LostPassword.lost_password a&#8217;).forEach(anchor => {<br \/>\n    if (anchor.textContent.trim() === &#8220;Lost your password?&#8221;) {<br \/>\n      anchor.textContent = &#8220;Recuperar mi contrase\u00f1a&#8221;;<br \/>\n    }<br \/>\n  });<\/p>\n<p>  \/\/ NUEVO: Reemplazo texto bot\u00f3n login woocommerce<br \/>\n  const botonLogin = document.querySelector(&#8216;.woocommerce-button.button.woocommerce-form-login__submit&#8217;);<br \/>\n  if (botonLogin &#038;&#038; botonLogin.textContent.trim().toLowerCase() !== &#8220;iniciar sesi\u00f3n&#8221;) {<br \/>\n    botonLogin.textContent = &#8220;Iniciar sesi\u00f3n&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ NUEVO: Reemplazo texto bot\u00f3n registro woocommerce<br \/>\n  const botonRegister = document.querySelector(&#8216;.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit&#8217;);<br \/>\n  if (botonRegister &#038;&#038; botonRegister.textContent.trim().toLowerCase() !== &#8220;reg\u00edstrate&#8221;) {<br \/>\n    botonRegister.textContent = &#8220;Reg\u00edstrate&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ NUEVO: Reemplazo label for=&#8221;reg_email&#8221; dentro de p con clases espec\u00edficas<br \/>\n  document.querySelectorAll(&#8216;p.woocommerce-form-row.woocommerce-form-row&#8211;wide.form-row.form-row-wide label[for=&#8221;reg_email&#8221;]&#8217;).forEach(label => {<br \/>\n    if (label.textContent.trim().toLowerCase() !== &#8220;email&#8221;) {<br \/>\n      label.textContent = &#8220;Email&#8221;;<br \/>\n    }<br \/>\n  });<\/p>\n<p>  \/\/ NUEVO: Cambiar placeholder input con id reg_email dentro del p con clases espec\u00edficas<br \/>\n  const regEmailInput = document.querySelector(&#8216;p.woocommerce-form-row.woocommerce-form-row&#8211;wide.form-row.form-row-wide input#reg_email&#8217;);<br \/>\n  if (regEmailInput &#038;&#038; regEmailInput.placeholder.trim().toLowerCase() !== &#8220;ingrese su email&#8221;) {<br \/>\n    regEmailInput.placeholder = &#8220;Ingrese su email&#8221;;<br \/>\n  }<\/p>\n<p>  \/\/ NUEVO: Reemplazar texto exacto en <\/p>\n<p> sin clase dentro del formulario de registro woocommerce<br \/>\n  document.querySelectorAll(&#8216;form.woocommerce-form.woocommerce-form-register.register p:not([class])&#8217;).forEach(p => {<br \/>\n    if (p.textContent.trim() === &#8220;A password will be sent to your email address.&#8221;) {<br \/>\n      p.textContent = &#8220;La contrase\u00f1a ser\u00e1 enviada a su direcci\u00f3n de email&#8221;;<br \/>\n    }<br \/>\n  });<\/p>\n<p>  \/\/ Condici\u00f3n para detener intervalo cuando todo est\u00e9 reemplazado<br \/>\n  const allReplaced = (<br \/>\n    loginSpan &#038;&#038; loginSpan.textContent.includes(&#8220;Iniciar sesi\u00f3n&#8221;) &#038;&#038;<br \/>\n    loginTitle &#038;&#038; loginTitle.textContent.includes(&#8220;Iniciar sesi\u00f3n&#8221;) &#038;&#038;<br \/>\n    registerTitle &#038;&#038; registerTitle.textContent.includes(&#8220;Reg\u00edstrate&#8221;) &#038;&#038;<br \/>\n    registerLink &#038;&#038; registerLink.textContent.includes(&#8220;Crear&#8221;) &#038;&#038;<br \/>\n    lostPassLink &#038;&#038; lostPassLink.textContent.includes(&#8220;Olvid\u00e9&#8221;) &#038;&#038;<br \/>\n    Array.from(document.querySelectorAll(&#8216;label[for=&#8221;username&#8221;]&#8217;)).some(label => label.textContent.includes(&#8220;Usuario&#8221;)) &#038;&#038;<br \/>\n    Array.from(document.querySelectorAll(&#8216;label[for=&#8221;password&#8221;]&#8217;)).some(label => label.textContent.includes(&#8220;Contrase\u00f1a&#8221;)) &#038;&#038;<br \/>\n    inputUsernameSpecific &#038;&#038; inputUsernameSpecific.placeholder.includes(&#8220;Ingrese su usuario&#8221;) &#038;&#038;<br \/>\n    inputPasswordSpecific &#038;&#038; inputPasswordSpecific.placeholder.includes(&#8220;Contrase\u00f1a&#8221;) &#038;&#038;<br \/>\n    botonLogin &#038;&#038; botonLogin.textContent.includes(&#8220;Iniciar sesi\u00f3n&#8221;) &#038;&#038;<br \/>\n    botonRegister &#038;&#038; botonRegister.textContent.includes(&#8220;Reg\u00edstrate&#8221;) &#038;&#038;<br \/>\n    Array.from(document.querySelectorAll(&#8216;p.woocommerce-form-row.woocommerce-form-row&#8211;wide.form-row.form-row-wide label[for=&#8221;reg_email&#8221;]&#8217;)).some(label => label.textContent.toLowerCase() === &#8220;email&#8221;) &#038;&#038;<br \/>\n    regEmailInput &#038;&#038; regEmailInput.placeholder.toLowerCase().includes(&#8220;ingrese su email&#8221;)<br \/>\n  );<\/p>\n<p>  if (allReplaced) {<br \/>\n    clearInterval(reemplazosLogin);<br \/>\n  }<br \/>\n}, 300);<\/p>\n","protected":false},"excerpt":{"rendered":"<p>const reemplazosLogin = setInterval(() => { \/\/ Reemplazo 0: span.login-form-title con texto &#8220;Sign in&#8221; const loginSpan = document.querySelector(&#8220;span.login-form-title&#8221;); if (loginSpan &#038;&#038; loginSpan.textContent.trim().toLowerCase() === &#8220;sign in&#8221;) { loginSpan.textContent = &#8220;Iniciar sesi\u00f3n&#8221;; } \/\/ Reemplazo 1: t\u00edtulo de login (h2.login-form-title) const loginTitle = document.querySelector(&#8220;h2.login-form-title&#8221;); if (loginTitle &#038;&#038; loginTitle.textContent.trim().toLowerCase() === &#8220;login&#8221;) { loginTitle.textContent = &#8220;Iniciar sesi\u00f3n&#8221;; } \/\/ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-21752","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/mylpan.cl\/index.php?rest_route=\/wp\/v2\/posts\/21752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mylpan.cl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mylpan.cl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mylpan.cl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mylpan.cl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21752"}],"version-history":[{"count":0,"href":"https:\/\/mylpan.cl\/index.php?rest_route=\/wp\/v2\/posts\/21752\/revisions"}],"wp:attachment":[{"href":"https:\/\/mylpan.cl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mylpan.cl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mylpan.cl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}