Logga in

Notis

Tid:2023/12/09

WordPress-migrering och uppgradering: lös problem som vita sidor, 404, pseudostatisk, plugin-installationsfel, plugin-uppdateringsfel och otillgänglighet, etc.

Under de senaste två dagarna har jag migrerat min blogg och uppgraderat den till senaste wordpress 6.4.2. Många problem uppstod i processen och löstes ett efter ett.

Spela in det.

vita sidor

Avinstallerade flera plugin-program och avinstallerade temat jag utvecklade: themoon. Det löste problemet.

404 och pseudostatisk

Den nya servern är nginx. Behöver läggas till i konfigurationen:

plats / { try_files $uri $uri/ /index.php?$args }

Plugin-installationen misslyckades och uppdateringen misslyckades också

1. Ställ in behörigheterna för pluginkatalogen till 777, och förresten, ställ in behörigheterna för temakatalogen till 777.

2. Aktivera PHP-funktioner i PHP.ini: chmod

Utan att aktivera den här funktionen kan WordPress inte installera och uppdatera plugins.

Efter att plugin-uppdateringen misslyckades blev hela webbplatsen otillgänglig.

Tips: "Vänta en minut..."

Det är faktiskt så det alltid har varit.

Allt du behöver göra är att logga in på servern via FTP, hitta .maintenance-filen i rotkatalogen, ta bort den, och det är allt.

taggar:
Tid:2023/11/06

Spela in det, wordpress, hämta sid-ID

Jag har alltid använt

global $post; $id=$post->ID;

Jag fick just idag reda på att det finns ett problem.

Om du lägger till en kortkod på sidan och kortkoden matar ut en lista (som en lista över artiklar i en viss kategori), kan den här metoden inte få sid-ID.

Det vill säga, om det finns en loop på sidan, kan metoden ovan inte erhålla sid-ID.

Lista flera metoder för att få sid-ID:

1.global

Påverkas av cirkulationen.

global $post; $id=$post->ID;

2,get_the_ID()

Påverkas av cirkulationen.

$postid = get_the_ID(); echo $postid;

 

3.get_queried_object_id()

Inte påverkas av cirkulationen. rekommendera.

$current_id = get_queried_object_id();

4.get_queried_object()

Inte påverkas av cirkulationen.

$object = get_queried_object(); $id = $id -> ID;
taggar:
Tid:2023/09/02

form motor iteration idag

Dagens iteration av formmotor:

Stöd flera formulär på en sida;

Stöder applikation i veiws-motorn, så att olika åtgärder kan läggas till i listan som återges av veiws-motorn.

Visningsskiktet och kontrollskiktet i formulärmotorn är separerade.

Lägg till ett fält för en rullgardinsknapp.

 

Eftersom formulärmotorn och vymotorn separerades från lågkodsplattformen och en del rekonstruktion gjordes, har denna iteration helt gjort sina möjligheter utöver den tidigare versionen.

taggar:
Tid:2023/08/31

记录一下,wordpress中设置cookie比较特别

被这个小问题卡了一天。

wordpress中设置cookie比较特别。要写在theme的functions文件中,并加载到init钩子上。

function custom_set_cookie() {
    
    setcookie( 'key', 'value', time() + 3600 * 24, COOKIEPATH, COOKIE_DOMAIN );

}
add_action( 'init', 'custom_set_cookie' );
taggar:
Tid:2023/08/01

flutter package依赖冲突的问题(Because xx depends on)

最简单的解决方法,就是在冲突的package后边不加版本号,而是加上“any”,这样flutter会自动匹配合适的包依赖的版本。

dart_code_metrics: any

 

taggar:
Tid:2023/07/29

the_posts_pagination() ——wordpress的分页原理


一直没搞懂wordpress列表的分页原理。今天终于搞明白了。

wordpress的列表和分页数据都写在全局参数:$wp_query中,只要把查询出来的列表数据放进这个参数,就可以用the_posts_pagination() 或get_the_posts_pagination()将分页显示出来,至于点击分页后出现的页面,不用管,wordpress都做好了。

Koda:

global $wp_query; 

 $wp_query=new WP_Query($arg);

然后,就可以在这个列表下边用the_posts_pagination()显示分页了。



taggar:
Tid:2023/07/26

AIGC:把百度的文心千帆大模型整合进wordpress,并对比GPT

# 把百度的文心千帆大模型整合进wordpress,并对比GPT

上周末,把百度的文心千帆大模型整合进了wordpress。
一、基本的过程:
1、先在百度申请体验文心千帆大模型,需要先认证。

2、通过后,开通一下大模型,因为百度的大模型使用是收费的,按token收费,需要你的账户中有余额才能开通。

3、然后,创建一个应用,这样就有了appid、api key和secret key

4、然后,再看文档,接相应的接口。
基本就是通过api key和secret key获得access token,然后再提交问题,获取答案。

二、关键代码
1、获取access token的关键代码

“`php
private function getAccessToken(){
$curl = curl_init();
curl_setopt_array($curl, array(
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 => true,
CURLOPT_CUSTOMREQUEST => ‘POST’,
CURLOPT_HTTPHEADER => array(
‘Content-Type: application/json’,
‘Accept: application/json’
),

));
$response = curl_exec($curl);
curl_close($curl);
$rtn = json_decode($response);
return $rtn->access_token;
}
“`

2、调用Ernie Bot大模型的关键代码

“`php
public function runErnieBot($message) {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => “https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token={$this->getAccessToken()}”,
CURLOPT_TIMEOUT => 30,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => ‘POST’,
CURLOPT_POSTFIELDS =>$message,
CURLOPT_HTTPHEADER => array(
‘Content-Type: application/json’
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
“`

3、调用Ernie Bot Turbo大模型的关键代码

“`php
public function runErnieBotTurbo($message) {
$curl = curl_init();
curl_setopt_array($curl, array(
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 => true,
CURLOPT_CUSTOMREQUEST => ‘POST’,
CURLOPT_POSTFIELDS =>$message,
CURLOPT_HTTPHEADER => array(
‘Content-Type: application/json’
),
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
“`

这几天的测试,百度文心千帆大模型在中文方面的表现的确比GPT好多了。
GPT的中文水平,就是“说明文”的水平。
百度文心千帆大模型的中文水平,至少也比“说明文”好一些。

Tid:2023/07/17

Iteration av medlemskapsabonnemangsmodul

 

 

För plattformen CMS jag byggt själv har medlemsprenumerationsdelen alltid varit "enkel att implementera". I helgen strukturerade jag om den här delen och utvecklade kärndelen.

1. Metod

Generellt sett inkluderar medlemskapsprenumerationen huvudsakligen tre delar: medlemskapsprenumerationsplan och -köp, medlemsbehörighetskontroll och medlemshantering.

1. För medlemsprenumerationsplaner och köp

Förbered dig bara på att göra några tillägg baserat på det befintliga köpcentrets system.

2. För medlemsbehörighetskontroll,

Detta behöver nämnas särskilt. Vi planerar inte att göra det utifrån ett rollbehörighetssystem, utan ett separat medlemskontrollerat system.

Utifrån rollbefogenhetssystemet görs medlemmar till en rollserie och varje typ av medlem görs till en roll i denna rollserie. Det låter rimligt. Men i det här fallet är det väldigt besvärligt att göra eller använda, speciellt när det är mycket affärer, de olika logikerna kommer att vara mycket komplicerade och alla typer av förvirring kommer att uppstå om du inte är försiktig. Och det är inte tillräckligt flexibelt.

Dessutom är medlemsprenumerationsdelen av många utmärkta system faktiskt inte rollbaserad. Istället implementeras behörighetskontroll baserat på "märken" eller order. Många välsäljande plugin-program för medlemskapsabonnemang, inklusive WordPress, görs på detta sätt.

Baserat på "användartaggar":

I huvudsak är det samma princip som karaktärssystemet. Det är för att definiera några "märken" för medlemmar. Användare som köper medlemskapsabonnemangsplanen som är kopplade till detta "märke" kommer att "märkas med detta märke", så att kontrollen av medlemsbehörigheter kan uppnås.

Baserat på beställning:

Köp en medlemsprenumerationsplan och gör en beställning Efter betalning kommer utgångstiden att skrivas in i beställningen. Därför kan du utifrån ordningen bedöma om användaren är medlem, vilken typ av medlem det är och om den har gått ut. På så sätt kan du kontrollera medlemsbehörigheter.

 

Jag har gjort en orderbaserad metod tidigare, och den här gången planerar jag att använda "användartaggar".

Det är inget fel med att vara baserad på beställningar, men beställningssystemet för plattformen CMS jag bygger nu stödjer många beställningstyper, vilket gör att beställningsmodellen är relativt "stor, jag planerar inte att "lägga till vikt" till den längre. så jag valde Baserat på "användartaggar".

3. Medlemshantering

Baserat på den befintliga användarhanteringstillägget planerar vi inte att göra medlemshantering ensam.

 

2. Tillämpliga scenarier

1. Grundscenario

Hela produkten har en eller flera prenumerationsplaner, som användare köper och njuter av medlemstjänster.

Definiera medlemskapstaggar globalt Varje medlemskapstagg innehåller minst tre fält: namn, slug och tillhörande prenumerationsplan-id.

När en användare köper en prenumerationsplan med ett medlemsmärke, kommer medlemsmärket och utgångstiden att skrivas in i användarens metadata.

2. Scenario för plattform/flerhyresgäst

För plattformar och SAAS med flera hyresgäster finns det ett mycket viktigt scenario: prenumerationsplanen som tillhandahålls av leverantören själv.

Definiera leverantörens medlemstagg i leverantörens användares metadata. Nyckeln till leverantörens medlemstagg kan inte vara densamma som nyckeln för den globala medlemstaggen.

När en användare köper en prenumerationsplan från den här leverantören kommer motsvarande medlemskapstagg och utgångsdatum att skrivas till den köpande användarens metadata.

Denna iteration implementerar bara grundläggande scenarier, men den måste kunna utvidgas till plattforms- och multi-tenant-scenarier.

 

3. Ta reda på om medlemskapet har gått ut när du loggar in

När användaren loggar in bedöms det om det har gått ut. Om det har gått ut, uppdatera medlemsmärket i metadatan till falskt och utgångsdatumet till falskt.

 

taggar: ,
Tid:2023/07/12

iframe嵌入网页不显示的问题

嵌入的网页必须是https的url才能显示,http的url不显示。

taggar:
Tid:2023/06/28

tiktok和抖音用户行为对比

2019年做了一个出海的短视频社交APP。当时对tiktok和抖音用户行为做了一些对比分析。以下是当时的一些笔记。

1、关于短视频和直播

对于国内用户,短视频和直播都是用来做内容的,所以,短视频和直播都是内容形式。

对于海外用户,短视频和直播,首先是通讯方式,短视频首先是短信的概念,只不过发的是视频。直播,首先是打电话的概念,只不过可以同步视频画面,无论是一对一还是一对多。

这也是为什么海外会有很多基于短视频和直播通讯的社交APP,而国内,大多是制作短视频和为更好地做直播节目而服务的产品。

 

2、关于粉丝

对于国内用户来说,粉丝就是钱,关注量就是用来变现的关键数字。

对于海外用户来说,尤其对欧美用户来说(tiktok的用户群普遍年龄比较小),粉丝就是朋友,这是一个很值得炫耀的数字,tiktok上大量的年龄比较小的用户普遍以有很多朋友为傲。

3、关于直播和直播礼物

国内的直播都是做内容的。主要就是卖艺和卖商品。画面精美、各种诱惑、费尽心机。

海外的直播,包括tiktok,真的就是“通讯工具”。

首先,是直播总量上,和抖音没法比。

然后,最常见的就是一个女的和一群男的瞎聊天,画面?诱惑?那是啥?就是随便聊个天。这样的,送礼物,极少。

偶尔也有卖艺的,但其质量、人气等和国内的直播相去甚远。送礼物的情况,整体上也和国内的直播没法比。

 

taggar:


copyright © www.lyustu.com alla rättigheter reserverade.
Tema: TheMoon V3.0 Författare:neo yang