ホームページ CMS チュートリアル &#&プレス wordpressコンテンツバックアップミラーサイト構築方法と注意点

wordpressコンテンツバックアップミラーサイト構築方法と注意点

Sep 26, 2019 am 09:43 AM
wordpress

次のコラム WordPress チュートリアル では、WordPress コンテンツのバックアップミラーサイトを構築する方法と注意点を紹介しますので、困っている友人の参考になれば幸いです。

wordpressコンテンツバックアップミラーサイト構築方法と注意点

エビレベルのウェブマスターである私は、実際にはコードを理解していない新人です。私のサイトは小規模な水道管ホストであり、安定性が難しいため、多くの訪問者を保証します。 この提案に基づいて、メイン サイトのホストが維持されたときに訪問者が訪問できるバックアップ サイトが存在するように、コンテンツ ミラー サイトも構築したいと考えています。

当初、両方のサイトで使用できる共有データベースを希望していましたが、Baidu が情報をチェックした後、これは仮想ホスト Web サイトの構築には適用できないことがわかりました。

次のコードが見つかるまでは、ソース サイトが記事を公開すると、ミラー サイトでも自動的に記事が公開されることがわかります。

最初のステップは、ミラー サイトのルート ディレクトリに post.php という名前の php ファイルを作成することです。コードの内容:

//以下はコード テキストです...

<?php
//文章接收
define(&#39;WP_USE_THEMES&#39;, false);
require_once("wp-load.php");
$key=&#39;123456&#39;; //设置启动 API 的密钥
if($_POST[&#39;key&#39;]==$key){
$categorys=explode(&#39;,&#39;,$_POST[&#39;category&#39;]);
$category=array();
for($x=1;$x<count($categorys);$x++) {
$category[$x-1]=get_cat_ID($categorys[$x]);
}
$info = array(
&#39;post_title&#39; => $_POST[&#39;title&#39;],
&#39;post_content&#39; => $_POST[&#39;content&#39;],
&#39;post_status&#39; => &#39;publish&#39;,
&#39;post_author&#39; => 1, //发布文章的作者 ID,1 为管理员
&#39;post_date&#39; => $_POST[&#39;date&#39;],
&#39;tags_input&#39; => $_POST[&#39;tags&#39;],
&#39;post_category&#39; => $category,
&#39;post_type&#39; => $_POST[&#39;type&#39;]
);
wp_insert_post( $info );
}
ログイン後にコピー

2 番目のステップは、メイン Web サイト テーマの function.php ファイルの最後の ?> の前にダウンロードしたコードを追加し、キーを設定し、API アドレスを変更することです。

//文章推送
add_action(&#39;publish_post&#39;, &#39;fanly_sync_post&#39;); //钩子,在文章发布时执行
function fanly_sync_post($post_ID) {
$key=&#39;123456&#39;; //输入你设置的密钥
$url=&#39;http://3838521.com/post.php&#39;;//API地址,就是接受数据的那个站点,修改为自己站点
$post_info = get_post($post_ID);
if ( $post_info->post_status == &#39;publish&#39; && $_POST[&#39;original_post_status&#39;] != &#39;publish&#39; ) {
$title=$_POST[&#39;post_title&#39;];
$content=$_POST[&#39;content&#39;];
$date=$_POST[&#39;aa&#39;].&#39;-&#39;.$_POST[&#39;mm&#39;].&#39;-&#39;.$_POST[&#39;jj&#39;].&#39; &#39;.$_POST[&#39;hh&#39;].&#39;:&#39;.$_POST[&#39;mn&#39;].&#39;:&#39;.$_POST[&#39;ss&#39;];
$category=&#39;&#39;;
for($x=1;$x<count($_POST[&#39;post_category&#39;]);$x++) {
$category.=&#39;,&#39;.get_cat_name($_POST[&#39;post_category&#39;][$x]);
}
$type=$_POST[&#39;post_type&#39;];
$tags=str_replace(&#39;、&#39;,&#39;,&#39;,$_POST[&#39;tax_input&#39;][&#39;post_tag&#39;]);
if($_POST[&#39;newtag&#39;][&#39;post_tag&#39;]){
$tags.=&#39;,&#39;.str_replace(&#39;、&#39;,&#39;,&#39;,$_POST[&#39;newtag&#39;][&#39;post_tag&#39;]);
}
$data = &#39;key=&#39;.$key.&#39;&title=&#39;.$title.&#39;&content=&#39;.$content.&#39;&date=&#39;.$date.&#39;&category=&#39;.$category.&#39;&type=&#39;.$type.&#39;&tags=&#39;.$tags;
$ch = curl_init (); //cURL 模拟 POST
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt ( $ch, CURLOPT_POST, TRUE );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$ret = curl_exec ( $ch );
curl_close ( $ch );
return $ret;
}
}
ログイン後にコピー

このように、メインサイトで記事が公開された後、ミラーサイトでも記事が公開されますが、すぐには公開されず予定が表示されるなど、予期せぬ事態も発生します。通常は数分後に公開されますが、公開に失敗する場合もあり、バックグラウンド記事管理で公開に失敗した記事を選択し、ステータスを公開に変更して更新する必要があります。

予期せぬ状況に対する解決策:

問題 1. テーマがアップグレードされると、functions.php コードが置き換えられます。上記の方法でコンテンツミラーリングを実装すると、テーマをアップグレードするたびにfunctions.phpのコードを変更する必要があり、トラブルが発生します。

したがって、次の解決策があります。コードは次のとおりです。

ログイン後にコピー

上記のコードをコピーします。メモ帳やその他のツールを使用して PHP ファイルとして保存し、パッケージ化するのが最善です。 zip ドキュメントに圧縮し、WordPress プラグインのインストール バックグラウンドでアップロードし、インストールして有効にします。

このように、プラグインの形式で存在し、テーマがアップグレードされた後は影響を与えなくなります。

質問 2. 一部のテーマエディターは、パスワードの可視性、支払いの可視性などのショートコードをサポートしていますが、ショートコードは編集モードと出力モードで異なります。ミラーサイトのコンテンツは次のとおりです。可能な出力モードですが、例外が出力されます。

私の解決策は、小さなプラグインを使用してこれらのコードを自動的に変更することです。コードは次のとおりです:

<?php
/*
Plugin Name: 小插件
Description: 给主题添加点小功能
Author: 云落
*/
//内容文字替换
function wpdaxue_replace_text($text){
$replace = array(
// &#39;原始文字&#39; => &#39;替换为这些&#39;
&#39;\"20\"]&#39; => &#39;"20"]&#39;,
&#39;\"10\"]&#39; => &#39;"10"]&#39;,
&#39;\"50\"]&#39; => &#39;"50"]&#39;
);
$text = str_replace(array_keys($replace), $replace, $text);
return $text;
}
add_filter(&#39;the_content&#39;, &#39;wpdaxue_replace_text&#39;); //正文
add_filter(&#39;the_excerpt&#39;, &#39;wpdaxue_replace_text&#39;); //摘要
add_filter(&#39;comment_text&#39;, &#39;wpdaxue_replace_text&#39;); //评论
?>
ログイン後にコピー

この記事で使用されているコードはすべて全能のブロガーによって提供されています。私はニーズを達成するためにそれらを効果的に統合しただけです。共有してくれてありがとう。ブロガーの皆さん!

以上がwordpressコンテンツバックアップミラーサイト構築方法と注意点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP vs. Flutter: モバイル開発に最適な選択 PHP vs. Flutter: モバイル開発に最適な選択 May 06, 2024 pm 10:45 PM

PHP と Flutter は、モバイル開発でよく使われるテクノロジです。 Flutter は、クロスプラットフォーム機能、パフォーマンス、ユーザー インターフェイスに優れており、高パフォーマンス、クロスプラットフォーム、カスタマイズされた UI を必要とするアプリケーションに適しています。 PHP は、クロスプラットフォームではなく、パフォーマンスが低いサーバー側アプリケーションに適しています。

ワードプレスでページ幅を変更する方法 ワードプレスでページ幅を変更する方法 Apr 16, 2024 am 01:03 AM

style.css ファイルを編集することで、WordPress ページの幅を簡単に変更できます。 style.css ファイルを編集し、 .site-content { max-width: [好みの幅] }; を追加します。 [好みの幅]を編集してページ幅を設定します。変更を保存し、キャッシュをクリアします (オプション)。

wordpressの記事はどのフォルダにありますか? wordpressの記事はどのフォルダにありますか? Apr 16, 2024 am 10:29 AM

WordPress の投稿は /wp-content/uploads フォルダーに保存されます。このフォルダーはサブフォルダーを使用して、年、月、記事 ID ごとに整理された記事など、さまざまな種類のアップロードを分類します。記事ファイルはプレーン テキスト形式 (.txt) で保存され、通常、ファイル名には ID とタイトルが含まれます。

ワードプレスで商品ページを作成する方法 ワードプレスで商品ページを作成する方法 Apr 16, 2024 am 12:39 AM

WordPress で製品ページを作成します。 1. 製品 (名前、説明、写真) を作成します。 2. ページ テンプレートをカスタマイズします (タイトル、説明、写真、ボタンを追加します)。 3. 製品情報 (在庫、サイズ、重量) を入力します。 4. バリエーションを作成します (さまざまな色、サイズ)。 5. 公開または非表示を設定します。 7. ページをプレビューして公開します。

ワードプレスのテンプレートファイルはどこにありますか? ワードプレスのテンプレートファイルはどこにありますか? Apr 16, 2024 am 11:00 AM

WordPress テンプレート ファイルは、/wp-content/themes/[テーマ名]/ ディレクトリにあります。これらは、ヘッダー (header.php)、フッター (footer.php)、メイン テンプレート (index.php)、単一記事 (single.php)、ページ (page.php) など、Web サイトの外観と機能を決定するために使用されます。 、アーカイブ (archive.php)、カテゴリ (category.php)、タグ (tag.php)、検索 (search.php)、および 404 エラー ページ (404.php)。これらのファイルを編集および変更することで、WordPress Web サイトの外観をカスタマイズできます。

WordPress で著者を検索する方法 WordPress で著者を検索する方法 Apr 16, 2024 am 01:18 AM

WordPress で作成者を検索します。 1. 管理パネルにログインしたら、[投稿] または [ページ] に移動し、検索バーを使用して作成者名を入力し、[フィルター] で [作成者] を選択します。 2. その他のヒント: ワイルドカードを使用して検索範囲を広げたり、演算子を使用して条件を組み合わせたり、著者 ID を入力して記事を検索したりできます。

WordPress のどのバージョンが安定していますか? WordPress のどのバージョンが安定していますか? Apr 16, 2024 am 10:54 AM

最も安定した WordPress バージョンは、最新のセキュリティ パッチ、パフォーマンスの強化、新機能と改善が導入された最新バージョンです。最新バージョンに更新するには、WordPress ダッシュボードにログインし、[更新] ページに移動して、[今すぐ更新] をクリックします。

ワードプレスの登録は必要ですか? ワードプレスの登録は必要ですか? Apr 16, 2024 pm 12:07 PM

WordPressは登録が必要です。私の国の「インターネットセキュリティ管理措置」によれば、国内でインターネット情報サービスを提供するウェブサイトは、WordPress を含め、地方のインターネット情報局に登録する必要があります。登録プロセスには、サービスプロバイダーの選択、情報の準備、申請の送信、審査と公開、登録番号の取得などのステップが含まれます。申請の利点には、法令順守、信頼性の向上、アクセス要件の満たし、通常のアクセスの確保などが含まれます。申請情報は真実かつ有効である必要があり、申請後は定期的に更新する必要があります。

See all articles