En los últimos dos días, migré mi blog y lo actualicé a la última versión de WordPress 6.4.2. Surgieron muchos problemas en el proceso y se resolvieron uno por uno.
Grábalo.
Desinstalé varios complementos y desinstalé el tema que desarrollé: themoon. Eso resolvió el problema.
El nuevo servidor es nginx. Es necesario agregar a la configuración:
ubicación / { try_files $uri $uri/ /index.php?$args; }
Sin habilitar esta función, WordPress no puede instalar ni actualizar complementos.
Consejo: "Espere un minuto..."
De hecho, así ha sido siempre.
Todo lo que necesita hacer es iniciar sesión en el servidor a través de FTP, buscar el archivo .maintenance en el directorio raíz, eliminarlo y listo.
siempre he usado
$post global; $id=$post->ID;
Me acabo de enterar hoy que hay un problema.
Si agrega un código corto a la página y el código corto genera una lista (como una lista de artículos en una categoría determinada), entonces este método no puede obtener el ID de la página.
Es decir, si hay un bucle en la página, entonces el método anterior no puede obtener la ID de la página.
Enumere varios métodos para obtener el ID de la página:
1.global
Afectado por la circulación.
$post global; $id=$post->ID;
2,obtener_el_ID()
Afectado por la circulación.
$postid = obtener_el_ID(); eco $postid;
3.get_queried_object_id()
No afectado por la circulación. recomendar.
$current_id = get_queried_object_id(); eco $current_id;
4.get_queried_object()
No afectado por la circulación.
$object = get_queried_object(); $id = $object -> ID;
La iteración de hoy del motor de formularios:
Admite múltiples formularios en una página;
Admite la aplicación en el motor de vistas, de modo que se pueden agregar varias acciones a la lista representada por el motor de vistas.
La capa de vista y la capa de control del motor de formulario están separadas.
Agregue un campo para un botón de selección desplegable.
Dado que el motor de formularios y el motor de vistas se separaron de la plataforma de código bajo y se realizó cierta reconstrucción, esta iteración ha superado por completo sus capacidades de la versión anterior.
He estado atrapado en este pequeño problema durante un día.
Configurar cookies en WordPress es especial.Debe escribirse en el archivo de funciones del tema y cargarse en el gancho de inicio.
función custom_set_cookie() { setcookie( 'clave', 'valor', tiempo() + 3600 * 24, COOKIEPATH, COOKIE_DOMAIN ); } add_action( 'init', 'custom_set_cookie' );
La solución más simple es agregar "cualquiera" en lugar del número de versión después del paquete en conflicto, para que Flutter coincida automáticamente con la versión apropiada de la dependencia del paquete.
dart_code_metrics: cualquier
Nunca entendí el principio de paginación de las listas de WordPress. Finalmente lo descubrí hoy.
La lista y los datos de paginación de WordPress están escritos en el parámetro global: $wp_query. Siempre que los datos de la lista consultados se coloquen en este parámetro, puede usar the_posts_pagination() o get_the_posts_pagination() para mostrar la paginación. En cuanto a la página que aparece Después de hacer clic en la paginación, no te preocupes, WordPress ya lo hizo.
Código:
$wp_query global;
$wp_query=nueva WP_Query($arg);
Luego, puede usar the_posts_pagination() para mostrar la paginación en esta lista.
# integra el modelo grande Wenxin Qianfan de Baidu en WordPress y lo compara con GPT
El fin de semana pasado, el modelo Wenxin Qianfan de Baidu se integró en WordPress.
1. Proceso básico:
1. Primero solicite experimentar el modelo grande Wenxin Qianfan en Baidu, que primero requiere certificación.
2. Después de pasar, active el modelo grande, porque el modelo grande de Baidu se cobra por su uso y se cobra por token, necesita tener saldo en su cuenta para activarlo.
3. Luego, cree una aplicación para que tenga appid, clave api y clave secreta.
4. Luego, lea la documentación y conecte la interfaz correspondiente.
Básicamente, obtienes el token de acceso a través de la clave API y la clave secreta, luego envías la pregunta y obtienes la respuesta.
2. Código clave
1. Obtenga el código clave del token de acceso.
"`php
función privada getAccessToken(){
$curl = curl_init();
curl_setopt_array($curl, matriz(
CURLOPT_URL => “https://aip.baidubce.com/oauth/2.0/token?client_id=”.$this->client_id.”&client_secret=”.$this->client_secret.”&grant_type=client_credentials”,
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => verdadero,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => matriz(
'Tipo de contenido: aplicación/json',
'Aceptar: aplicación/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
$rtn = json_decode($response);
devolver $rtn->access_token;
}
“`
2. Llame al código clave del modelo grande de Ernie Bot.
"`php
función pública runErnieBot($message) {
$curl = curl_init();
curl_setopt_array($curl, matriz(
CURLOPT_URL => “https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token={$this->getAccessToken()}”,
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => verdadero,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>$mensaje,
CURLOPT_HTTPHEADER => matriz(
'Tipo de contenido: aplicación/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
devolver $respuesta;
}
“`
3. Llame al código clave del modelo grande Ernie Bot Turbo
"`php
función pública ejecutarErnieBotTurbo($message) {
$curl = curl_init();
curl_setopt_array($curl, matriz(
CURLOPT_URL => “https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token={$this->getAccessToken()}”,
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => verdadero,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>$mensaje,
CURLOPT_HTTPHEADER => matriz(
'Tipo de contenido: aplicación/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
devolver $respuesta;
}
“`
En los últimos días de pruebas, el rendimiento del modelo grande de Baidu Wenxin Qianfan en chino es mucho mejor que el de GPT.
El nivel chino de GPT es el nivel de "texto explicativo".
El nivel chino del modelo grande Baidu Wenxin Qianfan es al menos mejor que el "texto explicativo".
Para la plataforma CMS que construí yo mismo, la parte de suscripción de membresía siempre ha sido "fácil de implementar". Este fin de semana reestructuré esta parte y desarrollé la parte central.
1. Método
En términos generales, la suscripción de membresía incluye principalmente tres partes: plan y compra de suscripción de membresía, control de permisos de miembros y administración de miembros.
1. Para compras y planes de suscripción de membresía
Simplemente prepárese para hacer algunas extensiones basadas en el sistema del centro comercial existente.
2. Para el control de permisos de los miembros,
Es necesario mencionar esto en particular: no planeamos hacerlo basándose en un sistema de permisos de roles, sino en un sistema independiente controlado por miembros.
Según el sistema de autoridad de roles, los miembros se convierten en una serie de roles y cada tipo de miembro se convierte en un rol en esta serie de roles. Suena razonable. Sin embargo, en este caso, es muy problemático de hacer o usar, especialmente cuando hay muchos negocios, las diversas lógicas serán muy complicadas y se causará todo tipo de confusión si no se tiene cuidado. Y no es lo suficientemente flexible.
Además, de hecho, la parte de suscripción de membresía de muchos sistemas excelentes no se basa en roles. En cambio, el control de permisos se implementa en base a "marcas" u órdenes. Muchos complementos de suscripción de membresía que se venden bien, incluido WordPress, se crean de esta manera.
Basado en "etiquetas de usuario":
En esencia, es el mismo principio que el sistema de caracteres. Es para definir algunas "marcas" de los miembros. Los usuarios que compren el plan de suscripción de membresía asociado con esta "marca" serán "marcados con esta marca", de modo que se pueda lograr el control de los permisos de los miembros.
Basado en orden:
Compre un plan de suscripción de membresía y realice un pedido. Después del pago, el tiempo de vencimiento se escribirá en el pedido. Por lo tanto, puede juzgar según el orden si el usuario es miembro, qué tipo de miembro es y si ha caducado. De esta manera puede controlar los permisos de los miembros.
He utilizado un método basado en pedidos antes y esta vez planeo usar "etiquetas de usuario".
No hay nada de malo en basarse en pedidos, pero el sistema de pedidos de la plataforma CMS que estoy construyendo ahora admite muchos tipos de pedidos, lo que hace que el modelo de pedidos sea relativamente "grande". Ya no planeo "agregarle peso". así que elegí Basado en "etiquetas de usuario".
3. Gestión de miembros
Basándonos en la extensión de administración de usuarios existente, no planeamos realizar la administración de miembros solos.
2. Escenarios aplicables
1. Escenario básico
Todo el producto tiene uno o varios planes de suscripción, que los usuarios compran y disfrutan de los servicios de membresía.
Defina etiquetas de membresía globalmente. Cada etiqueta de membresía contiene al menos tres campos: nombre, slug e identificación del plan de suscripción asociado.
Cuando un usuario compra un plan de suscripción con una marca de membresía, la marca de membresía y el tiempo de vencimiento se escribirán en los metadatos del usuario.
2. Escenario de plataforma/multiinquilino
Para plataformas y SAAS multiinquilino, existe un escenario muy importante: el plan de suscripción proporcionado por el propio proveedor.
Defina la etiqueta de membresía del proveedor en los metadatos del usuario del proveedor. La clave de la etiqueta de membresía del proveedor no puede ser la misma que la clave de la etiqueta de membresía global.
Cuando un usuario compra un plan de suscripción de este proveedor, la etiqueta de membresía correspondiente y la fecha de vencimiento se escribirán en los metadatos del usuario comprador.
Esta iteración solo implementa escenarios básicos, pero debe poder extenderse a escenarios de plataforma y multiinquilino.
3. Determine si la membresía ha caducado al iniciar sesión
Cuando el usuario inicia sesión, se juzga si ha caducado. Si ha caducado, actualice la marca de miembro en los metadatos a falso y la fecha de vencimiento a falso.
La página web incrustada debe ser una URL https para poder mostrarse y no se muestra una URL http.
En 2019, creé una aplicación social de videos cortos que se lanzó al extranjero. En ese momento, se realizaron algunos análisis comparativos sobre el comportamiento de los usuarios de TikTok y Douyin. A continuación se presentan algunas notas de esa época.
1. Sobre videos cortos y transmisiones en vivo
Para los usuarios domésticos, los videos cortos y las transmisiones en vivo se utilizan para crear contenido, por lo que los videos cortos y las transmisiones en vivo son ambas formas de contenido.
Para los usuarios extranjeros, los videos cortos y las transmisiones en vivo son ante todo métodos de comunicación. Los videos cortos son ante todo el concepto de mensajes de texto, pero son solo videos. La transmisión en vivo, en primer lugar, es el concepto de hacer una llamada telefónica, pero puede sincronizar la pantalla de video, ya sea uno a uno o uno a muchos.
Es por eso que hay muchas aplicaciones sociales basadas en videos cortos y comunicación en vivo en el extranjero, mientras que en China, la mayoría de ellas son productos que producen videos cortos y sirven mejores transmisiones en vivo.
2. Acerca de los fanáticos
Para los usuarios domésticos, los fanáticos son dinero y la cantidad de seguidores es el número clave que se utiliza para monetizar.
Para los usuarios extranjeros, especialmente para los usuarios europeos y americanos (la base de usuarios de Tiktok es generalmente más joven), los fans son amigos, lo cual es un número que vale la pena mostrar. Una gran cantidad de usuarios más jóvenes en TikTok generalmente tienen muchos amigos. Orgullosos.
3. Acerca de la transmisión en vivo y los obsequios de transmisión en vivo
Las transmisiones nacionales en vivo tienen que ver con el contenido. Lo principal son las artes escénicas y la venta de bienes. Bellas imágenes, diversas tentaciones y mucho esfuerzo.
Las transmisiones en vivo en el extranjero, incluido TikTok, son en realidad "herramientas de comunicación".
En primer lugar, la cantidad total de transmisiones en vivo es incomparable con la de Douyin.
Entonces, la escena más común es la de una mujer charlando con un grupo de hombres. ¿señuelo? ¿Qué es eso? Simplemente charlando casualmente. Estos regalos son raros.
De vez en cuando hay artistas, pero su calidad y popularidad están lejos de las transmisiones en vivo nacionales. La situación de dar obsequios es generalmente incomparable con las transmisiones en vivo nacionales.