সর্বনিম্ন ওয়ার্ডপ্রেস পরিবেশ লোড করুন


12

আমি আমার ওয়েবসাইটের জন্য নিজস্ব আপলোড পরিষেবা তৈরি করেছি যা ডাব্লুপি থেকে পৃথক, তবে নিম্ন স্তরের ডিবি ফাংশন এবং ব্যবহারকারীর যাচাইয়ের জন্য ডাব্লুপি ব্যবহার করে। এটি করার জন্য, আমি আমার মূল স্ক্রিপ্টে (ডাব্লুপি-লোড.এফপি) অন্তর্ভুক্ত করি তবে এটি করা অপ্রয়োজনীয় উপাদানগুলির সাথে সার্ভারের স্মৃতি পূরণ করে। তার জন্য ধন্যবাদ, আমি আমার স্ক্রিপ্টে একটি ত্রুটি দেখছি যা মনে হয় একটি ইনস্টলড ডাব্লুপি প্লাগইনকে নির্দেশ করে।

আমি কীভাবে কেবলমাত্র মূল ডাব্লুপি উপাদান লোড করতে এবং প্লাগইনগুলি উপেক্ষা করতে পারি? এটা কি সম্ভব?


1
পরীক্ষা করে দেখুন BackPress
সোলসেকাহঃ

উত্তর:


9

প্লাগইনগুলি সম্পূর্ণরূপে অক্ষম করার অর্থ হ'ল আপনি অনেক সুবিধা হ্রাস করুন।

ওয়ার্ডপ্রেসের বিতরণ রয়েছে যা আরও এগিয়ে যায় এবং পোস্ট এবং লিঙ্কগুলি ছিন্ন করে দেয় তবে তারা সবসময় ওয়ার্ডপ্রেস মূলের চেয়ে পিছিয়ে থাকবে এবং বেশি দিন বেঁচে থাকবে না।

এখানে কিছু জিনিস করা যেতে পারে

শর্ট ইনিশ

এটি আপনার wp-config.php এ রেখেছেন:

define( 'SHORTINIT', TRUE );

বা ওয়ার্ডপ্রেসে লোড করার আগে কোথাও এটি সংজ্ঞায়িত করা, লোডিং প্রক্রিয়াটি হ্রাস করা উচিত এবং এটি ন্যূনতম মূল ফাংশনে ফিরে আসা উচিত।

সেকেন্ডারি লাইটওয়েট ইনস্টল

আপনার পছন্দসই প্লাগইন এবং থিমগুলি (যদি থাকে তবে) সহ দ্বিতীয় ওয়ার্ডপ্রেস ইনস্টলেশন সেটআপ করুন। তারপরে একই ডাব্লুপি-কনটেন্ট ডিরেক্টরি এবং ডাটাবেস মানগুলি ব্যবহার করতে wp-config.php কনফিগার করুন।

Backpress

ওয়ার্ডপ্রেস, অন্যদের মধ্যে মূল বিবিপ্রেস এবং গ্লটপ্রেস ব্যাকপ্রেস লাইব্রেরির চারপাশে নির্মিত। আপনি আপনার ওয়ার্ডপ্রেসের পরিবর্তে এটি ব্যবহার করতে পারেন যদিও অসংখ্য এপিআই এবং বৈশিষ্ট্যগুলি অনুপস্থিত থাকতে পারে বা পুনরায় বাস্তবায়ন / পোর্টিংয়ের প্রয়োজন হতে পারে

বিকল্প টেবিল

আমি আরও মনে রাখব যে ওয়ার্ডপ্রেস প্রশ্নগুলি কাটতে পুরো অপশন টেবিলটিকে মেমরিতে লোড করে, যদি আপনি সেখানে কোনও বড় মান সংরক্ষণ করেন তবে এটি কার্য সম্পাদনকে প্রভাবিত করবে।

তাড়াতাড়ি প্রস্থান করা

আপনি ওয়ার্ডপ্রেস লোড প্রক্রিয়াতে পূর্বের ফাংশনগুলিতেও নজর রাখতে এবং ওয়ার্ডপ্রেস শেষ হওয়ার আগে পিএইচপি প্রক্রিয়াটি প্রস্থান করার চেষ্টা করতে পারেন, তবে এটি কতটা নিরাপদ হবে সে বিষয়ে আমি পরামর্শ দিতে পারি না।

নির্বাচিতভাবে প্লাগইন লোড হচ্ছে

নির্বাচিতভাবে প্লাগইনগুলি লোড করার বিষয়ে এই নিবন্ধটিও রয়েছে তবে এটি ওয়ার্ডপ্রেস কোর ফাইলগুলিতে হ্যাকের প্রয়োজন নেই


+1 কখনও "সেকেন্ডারি লাইটওয়েট ইনস্টল" চেষ্টা করেছেন ?
কায়সার

আমি অনুরূপ জিনিসগুলি করেছি, যদিও এই উদ্দেশ্যে কখনও নয়, বেশিরভাগ ব্যবহারের কেসগুলি মাল্টিসাইট দ্বারা আরও ভালভাবে পরিবেশন করা যেতে পারে। প্রধানত আমি এটি ব্যবহার করি যাতে আমার পাশাপাশি বিকাশ ইনস্টল হতে পারে যাতে তারা সামগ্রী ভাগ করে নেয়
টম জে নওয়েল

8

ব্যাকপ্রেস ব্যবহার করুন , তবে আমার ছোট ছোট উন্নয়ন হয়েছে, যেখানে আমি কনস্টের মাধ্যমে একটি ডিফল্ট ইনস্টল এবং ছোট উত্স ব্যবহার করি।

দেখুন wp-settings.php

// Stop most of WordPress from being loaded if we just want the basics.
if ( SHORTINIT )
    return false;

সত্যিকারের কনটকে SHORTINIT সেট করুন wp-config.phpএবং দ্রুত রান দেখুন। define( 'SHORTINIT', TRUE );

এই ফাইলগুলি আপনি পান:

// All are located in ABSPATH.WPINC
'/load.php'
'/default-constants.php'
'/version.php'
'/compat.php'
'/functions.php'
'/class-wp.php'
'/class-wp-error.php'
'/plugin.php'
'/default-filters.php'
'/pomo/mo.php'

// Only Multisite
'/ms-blogs.php'
'/ms-settings.php'

6

তৈরীর জন্য is_user_logged_in()এবং current_user_can()কাজ, আমি অনুরূপ উত্তর পাওয়া এখানে (নাকিসুরে মন্তব্য) comparsion এখানে উত্তর মিলে যায়, যেমন:

ব্যবহার define('SHORTINIT', true)+ + require('wp-load.php')+ + ম্যানুয়ালি রয়েছে:

পেজলোড: 1.05 সেক - অন্তর্ভুক্ত ফাইলগুলি: 43 টি ফাইল

তুলনা: কেবলমাত্র ব্যবহার require('wp-load.php'):

পেজলোড: 1.35 সেক - অন্তর্ভুক্ত ফাইলগুলি: 419 ফাইল

সময়ের পার্থক্য (০.০ সেকেন্ড) ইনস্টল এবং পিএইচপি ইঞ্জিন থেকে পৃথক হতে পারে, তবে এক পৃষ্ঠার লোড-থিংসে অনেকগুলি অনুরোধ বৈধ করার সময়! / @ আনা এরিকসন

ডাব্লুপি ইনস্টলড দিরের আপেক্ষিক কলটি ব্যবহার করা ভাল ধারণা ছিল। একটি ওয়ার্ডপ্রেস কাস্টম প্লাগইন থেকে "মূল" যেমন:

$wordpress = '../../../wp-load.php';

তারপরে আমার প্লাগইন ইনডেক্স.এফপি এর ভিতরে:

define('SHORTINIT', true);
include_once $wordpress;

require_once ( ABSPATH . WPINC . '/class-wp-user.php' );
require_once ( ABSPATH . WPINC . '/class-wp-roles.php' );
require_once ( ABSPATH . WPINC . '/class-wp-role.php' );
require_once ( ABSPATH . WPINC . '/class-wp-session-tokens.php' );
require_once ( ABSPATH . WPINC . '/class-wp-user-meta-session-tokens.php' );
require_once ( ABSPATH . WPINC . '/formatting.php' );
require_once ( ABSPATH . WPINC . '/capabilities.php' );
//require_once ( ABSPATH . WPINC . '/query.php' ); // - might be useful
require_once ( ABSPATH . WPINC . '/user.php' );
require_once ( ABSPATH . WPINC . '/meta.php' );

wp_cookie_constants();

require_once ( ABSPATH . WPINC . '/vars.php' );
require_once ( ABSPATH . WPINC . '/kses.php' );
require_once ( ABSPATH . WPINC . '/rest-api.php' );
require_once ( ABSPATH . WPINC . '/pluggable.php' );

এর পরে, ব্যবহারকারীর বৈধতা আমার পক্ষে কাজ করছে। আসল কোড থেকে চূড়ান্ত শব্দগুলিতে @ আন্না এরিকসনকে ধন্যবাদ:

অন্য কাজের জন্য, এক বা দুটি অনুরোধের ভিত্তিতে চলমান, অন্যান্য প্রয়োজনীয় ফাইলগুলি ট্র্যাক করে নেওয়া ০.০ সেকেন্ডের মতো নয়SHORTINIT ধ্রুবক এবং ম্যানুয়ালি বিশৃঙ্খলা এড়িয়ে যান ।


1
এটি এখন পর্যন্ত সবচেয়ে পরিষ্কার উপায়। আমাদের ইন্সটলে অ্যাজাক্স-কলগুলি সীমাবদ্ধ চিত্রগুলি লোড করা নিয়ে সূক্ষ্ম কাজ করা।
জোনাস লন্ডম্যান

@ কাভামেটা কীভাবে আপনি কীভাবে শর্টিনিটের সাথে ডেকে আনতে ওয়ালকমার্স আমদানি করবেন?
ওয়েবমাস্টেক্স

2

আপনি চেষ্টা করেছেন define('SHORTINIT', true);? আমি নিজে এটি পরীক্ষা করে দেখিনি, তবে যথেষ্ট কার্যকারিতা বজায় রেখে ডাব্লুপি কোর এর খুব কম দিকই লোড করা মনে হচ্ছে, বিশেষত যদি আপনি যা চান তা ডাটাবেসের সাথে কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.