web-dev-qa-db-ja.com

新しい投稿を公開できません

私はクライアントと協力してサイトを新しいホストプロバイダに移行してきました。私は手動でデータベースを移行しましたが、今まで見たことのない問題に遭遇しました。すべての既存の投稿を編集できますが、新しい投稿を作成しようとすると - [固定リンク]フィールドの[ここにタイトルを入力してください]の下に表示される:固定リンク:?preview = true

enter image description here 

下書きを公開または保存すると、次のメッセージが表示されます。申し訳ありませんが、この投稿を編集することはできません。

enter image description here 

また、投稿には、プレビューボタンはありません。

修正するために取られるステップ:

  1. 私はWP_debugをオンにしましたが、これはこの問題にはほとんど役に立ちませんでした。

  2. テーマの競合が発生しているかどうかを確認するために、テーマを2017に切り替えました。

  3. テーマを切り替えた後、すべてのプラグインを無効にしました。

  4. Wp_usermetaのwp_capablities行を他の既存のwp_capabilities行と比較しました。

  5. 私は管理者キャップを置き換えるためにSQL文を試してみました、すなわち。

UPDATE wp_usermeta SET meta_value = REPLACE(meta_value、 'a:1:{s:13:\ "administrator \"; s:1:\ "1 \"'、 'a:1:{s:13:\ "administrator\"; b:1 ');

だから今私の管理者キャップは設定されています:a:1:{s:13:\ "管理者\"; b:1 ')

しかし、私はまだ同じ結果を受けています。

誰かがこのエラーを認識し、どこで失敗したのかを指摘できるようになることを望んでいました。

THX!チップレップ

2
Chipleh

データベースには古いドメインへの参照が残っています。これらは修正する必要があります。

ステップ1 設定 - >パーマリンクに行き、 変更を保存 ボタンをクリックしてください。これでパーマリンクが修正されます。

ステップ2 :インストールしてアクティブにする より良い検索で置き換える plugin。 [ツール] - > [検索の向上]をクリックします。Replace。すべてのテーブルで、古いドメイン(example.com)を新しいドメイン(whatever.net)に置き換えます。

ドメイン名が変更されていない場合は、手順2を省略できます。

Admin capがa:1:{s:13:"administrator";b:1;}であることを確認してください。

SOはコードをフォーマットしていません???

私の答えはあなたの許可の問題を解決するわけではありませんが、それはあなたがいくつかの失敗の後にサイトを再構築しようとするときに役立つかもしれません。

オンラインワードプレスをローカルにコピーしたら、それを機能させるために、次の手順に従った

  1. すべてのファイルとフォルダをコピーした
  2. データベースをコピーしてローカルデータベースに追加する
  3. 次のようにデータベースの資格情報と一緒にwp-config.phpファイルを編集しました(それがあなたのために働くことを願っています) -

    // require_once(ABSPATH。 'wp-settings.php')の前のwp-configファイルの一部。

    $ content_directory = "/ content"; $ plugins_directory = "/ code";

    $ currenthost = "http://" $ _ SERVER ['HTTP_Host']; $ currentpath = preg_replace( '@/+ $ @'、 ''、ディレクトリ名($ _ SERVER ['SCRIPT_NAME'])); $ currentpath = preg_replace( '// wp。+ /'、 ''、$ currentpath); define( 'WP_HOME'、$ currenthost。$ currentpath); define( 'WP_SITEURL'、$ currenthost。$ currentpath);

    define( 'WP_CONTENT_URL'、$ currenthost。$ currentpath。$ content_directory); ( 'WP_CONTENT_DIR'、dirname( _ file _ )。$ content_directory)を定義します。

    define( 'DOMAIN_CURRENT_SITE'、$ currenthost。$ currentpath);

    定義( 'WP_PLUGIN_DIR'、WP_CONTENT_DIR。$ plugins_directory); define( 'WP_PLUGIN_URL'、WP_CONTENT_URL。$ plugins_directory);定義( 'WPMU_PLUGIN_DIR'、WP_CONTENT_DIR。 "/ multicode");定義( 'WPMU_PLUGIN_URL'、WP_CONTENT_URL。 "/ multicode");

    ( 'UPLOADS'、WP_CONTENT_DIR。 '/ files')を定義します。

    define( 'WP_POST_REVISIONS'、2); define( 'WP_DEBUG_DISPLAY'、false);

    @define( 'ADMIN_COOKIE_PATH'、 './');

    / *マニュアルコードの終わりはここ* /

あるいは、インストールに固有の$currenthostおよび$currentpathを手動で指定することもできます。そして、私はローカルですべてを同じにすることができました。

0