জেটপ্যাক স্থানীয়ভাবে চলছে [বন্ধ]


16

কেউ যদি এর কাছাকাছি কোন সহজ উপায় জানত তবে অবাক হয়েছি।

আমার ওয়ার্ডপ্রেস উদাহরণের স্থানীয় ডেভ সংস্করণ এবং লাইভ সংস্করণটির পেছনের কোডটি সিঙ্কে রয়েছে (তাদের যেমন হওয়া উচিত)। সমস্যা হ'ল এর অর্থ হল "জেটপ্যাক" প্লাগইনটি লাইভ সংস্করণে কাজ করছে (যেহেতু এটি একটি লাইভ ব্লগ যা ওয়ার্ডপ্রেস ডটকমের সাথে সংযোগ করতে পারে) তবে স্থানীয় দেব সংস্করণে নয়।

এর অর্থ কার্যকারিতা লাইভ সংস্করণে উপলব্ধ ("সাবস্ক্রাইব" সাইডবার উইজেটের মতো) তবে স্থানীয় দেব সংস্করণে নেই, সুতরাং এগুলি সিঙ্কের বাইরে চলে গেছে।

উত্তর:


24

জেটপ্যাক ২.২.১ অনুসারে এখন স্থানীয় উন্নয়ন / ডিবাগ মোড রয়েছে। http://jetpack.me/2013/03/28/jetpack-dev-mode-release/

ব্যবহার করুন:

define ('JETPACK_DEV_DEBUG', true);

আপনার ডাব্লুপি-কনফিগারেশনে রয়েছে এবং আপনার এমন কোনও মডিউলগুলিতে অ্যাক্সেস থাকা উচিত যা কাজ করার জন্য কোনও সংযোগের প্রয়োজন নেই।

আপডেট করুন, প্রায় v3.3 থেকে অন্য একটি স্থানীয় বিকাশ ট্রিগার সংজ্ঞায়নের পরিবর্তে ফিল্টারের মাধ্যমে যুক্ত হয়েছিল।

সর্বশেষ এখন এখানে: http://jetpack.me/support/de વિકાસment-mode/

আপনার সাইটের হোস্টনাম, অর্থাৎ লোকালহোস্টে পিরিয়ড না থাকলে বিকাশ মোড স্বয়ংক্রিয়ভাবে সক্ষম হয়ে যায়। আপনি যদি মাইকুলেটসসাইট.লোকাল বা অন্য কোনও URL ব্যবহার করেন তবে আপনাকে JETPACK_DEV_DEBUG ধ্রুবকটি সংজ্ঞায়িত করতে হবে।

আপনি জেটপ্যাকের উন্নয়ন মোডকে একটি প্লাগিনের মাধ্যমে সক্ষম করতে পারেন, জেটপ্যাক_ডিভেলপমেন্ট_মোড ফিল্টারকে ধন্যবাদ:

add_filter( 'jetpack_development_mode', '__return_true' );

জেটপ্যাক v3.9 অনুসারে এখন একটি স্টেজিং মোড ফিল্টার রয়েছে যা কোনও সাইটকে উত্পাদনের পরিবর্তে একটি মঞ্চের সাইট হিসাবে পুনঃনির্মাণ করতে বাধ্য করে: https://developer.jetpack.com/hooks/jetpack_is_stasing_site/

add_filter( 'jetpack_is_staging_site', '__return_true' );

2
ডেভ / ডিবাগ মোড Requires Connectionমডিউল ফাইলগুলিতে ( jetpack/modules/*.php) ফাইলগুলি সন্ধান করে । এই পদ্ধতিতে আমরা পরীক্ষা করতে পারি যে কোনটি ডেভ মোডে কাজ করবে বা না করবে।
brasofilo

লোকালহোস্টে ডেভলপমেন্ট মোড সক্ষম থাকলে কী বৈশিষ্ট্যগুলি এখনও কাজ করে তার একটি তালিকা: wpperform.com/jetpack-de વિકાસment-
ক্যাসি প্লামার

9

@ ট্রেসিআর্টন দ্বারা সরবরাহিত লিঙ্কটিতে থাকা পদ্ধতিটি জেটপ্যাক ২.০ এবং ওয়ার্ডপ্রেস ৩.৪.২ থেকে কার্যকর হচ্ছে বলে মনে হচ্ছে না।

এমনকি সমস্ত ডাটাবেস ক্ষেত্রের অনুলিপি করা, এটি সংযুক্ত হিসাবে কাজ করে না।
জেটপ্যাক ডাটাবেস


যেহেতু ওপি প্রশ্নটি একটি উন্নয়ন এবং উত্পাদন পরিবেশকে সিঙ্ক করার বিষয়ে, সম্ভবত এটি সম্ভব নয়।

আমি কোন গভীরতা পরীক্ষা করেছি না কোন মডিউলগুলি কাজ করে এবং কোনটি নয়, তবে জেটপ্যাকটিকে বিশ্বাস করে চালিত করা যায় এটি ফাইলটিতে নিম্নলিখিত পরিবর্তনগুলি সংযুক্ত করে যুক্ত /plugins/jetpack/jetpack.php

শ্রেণীর অভ্যন্তরে Jetpack_Data, প্রথম ফাংশনটি এর get_access_tokenমতো পরিবর্তন করুন :

class Jetpack_Data {    
    function get_access_token( $user_id = false ) {
        return 'USER_TOKENS-VALUE-FOUND-INSIDE-THE-OPTION-JETPACK_OPTIONS'; // <---trick
        if ( $user_id ) {
            if ( !$tokens = Jetpack::get_option( 'user_tokens' ) ) {
                return false;
            }

অথবা কেবলমাত্র বিকল্পটির অভ্যন্তর থেকে আমরা অনুলিপি করতে পারি return true;তার পরিবর্তে একটি রাখুন ।user_tokensjetpack_options

পিএস: এই উত্তরের প্রথম সংস্করণে আরও একটি কৌশল ব্যবহৃত হয়েছে। এখানে, এটি এক-লাইন পরিবর্তন যা তত্ত্বের ভিত্তিতে সমস্তকে ধরে ফেলে ...


force_user_connection()পদ্ধতির মতো আপনাকেও পৃথক মডিউল হ্যাক করতে হতে পারে publicize/publicize-jetpack.php। এমনকি এটির সাথে, যদিও এটি এখনও এটি ঠিক যেমন সংযুক্ত রয়েছে ঠিক তেমন আচরণ করবে বলে মনে হয় না। আমি কোডটি ব্যাপকভাবে খনন করি নি, তবে আমার সন্দেহ হ'ল কোডটিতে আরও অনেক জায়গা রয়েছে যা হ্যাক করা দরকার যাতে এটি লাইভ সার্ভারে ঠিক ঠিক একইভাবে কার্যকর করতে পারে।
আয়ান ডান

1
@ ইয়ানডান, সম্মত হয়েছেন, আমার উত্তরটি "সংযুক্ত হওয়ার বিষয়ে আমাকে কড়া নাড়ান এবং আমাকে কিছু হুক পরীক্ষা করতে দিন " সম্পর্কে আরও বেশি এবং সিঙ্কে ডেভ এবং ডিপ্লোয়ড সংস্করণ থাকার ওপি ইস্যুকে সত্যই লক্ষ্য করে না।
brasofilo

@ ইয়ানডুন, আরও একটি উপায় খুঁজে পেয়েছেন, সম্ভবত আরও কার্যকর। উত্তরটি আপডেট করেছেন, আপনার কী মনে হয়?
brasofilo

আমি গতকাল এর অনুরূপ কিছু চেষ্টা করেছি, তবে এখনও আমার মঞ্চের সার্ভারে যে সমস্যাটি দেখছিলাম তা পুনরুত্পাদন করতে পারেনি, সুতরাং আমি নিশ্চিত নই যে এটি সম্পূর্ণরূপে কাজ করে কিনা। সমস্যাটি অন্য একটি প্লাগইনে একটি বাগ হিসাবে পরিণত হয়েছিল এবং এটি এখনই ঠিক হয়ে গেছে, তাই আর আমার জেটপ্যাক হ্যাক করার দরকার নেই।
আয়ান ডান

7

আপনার স্থানীয় ইনস্টলটিতে একটি সক্রিয় ইনস্টল থেকে ডাটাবেস ক্ষেত্রের মানগুলি অনুলিপি করে জেটপ্যাকটিকে ঠকানো সম্ভব।

জেটপ্যাক সংযুক্ত একটি ইনস্টল (রিমোট) এ ক্ষেত্রগুলির wp_optionsজন্য option_nameসূচনা টেবিলটি সন্ধান করুন jetpack_যেমন:

  • jetpack_activated
  • jetpack_options
  • jetpack_nonce_{random_string}
  • jetpack_active_modules

আপনার স্থানীয় ইনস্টল ডাটাবেসে এই ক্ষেত্রগুলি এবং মানগুলি অনুলিপি করুন।

এই প্রক্রিয়াটির আরও বিশদের জন্য দেখুন: http://www.ravendevelopers.com/node/57


লিঙ্কের জন্য ধন্যবাদ। আমি মাইএসকিউএল ত্রুটি পেয়েছি "# 1062 - কী 'বিকল্প_নাম' এর জন্য সদৃশ এন্ট্রি 'জেটপ্যাক_অ্যাক্টিভেটেড" "
অ্যালেকারস্ট

4

ব্রাসোফিলোর সর্বশেষ সমাধানটি দ্বারা অনুপ্রাণিত হয়ে আরও একটি সহজ উপায় আছে, খালি jetpack.php খুলুন, অনুসন্ধান করুন

/**
* Is Jetpack active?
*/
public static function is_active() {
    return (bool) Jetpack_Data::get_access_token( JETPACK_MASTER_USER );
}

এবং এটি দিয়ে প্রতিস্থাপন করুন:

/**
* Is Jetpack active?
*/
public static function is_active() {
    return true;
}

ডেটাবেস দিয়ে খেলার চেয়ে অনেক বেশি সহজ বলে মনে হচ্ছে এবং আমার জন্য জেটপ্যাক সংস্করণ 2.1.1এবং ওয়ার্ডপ্রেস সংস্করণে কাজ করেছে3.5

তবে আপনি এই ফাইলটির জন্য বা এ জাতীয় কিছুটির জন্য একটি উপেক্ষা করার নিয়মটি সেট করা উচিত যদি আপনি প্লাগইনটি লাইভ সাইটে সূক্ষ্মভাবে কাজ করতে চান তবে সক্রিয় পতাকাটিকে হার্ডকডিংয়ের চেয়ে আসল উপায়ে সংযুক্ত করা ভাল।


3

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

আরেকটি বিকল্প হ'ল মঞ্চ পরিবেশ চালানো এবং এটি জেটপ্যাক-সম্পর্কিত যে কোনও কিছুর জন্য ব্যবহার করুন। মঞ্চ পরিবেশের অনেক সুবিধা রয়েছে, সুতরাং যাইহোক এটি সেট আপ করা সার্থক বিনিয়োগ হবে।


2

jetpack_development_modeফিল্টার:

আমি শুধু jetpack_development_modeফিল্টার উল্লেখ করতে চাই ।

আপনি কেবল ব্যবহার করতে পারেন:

add_filter( 'jetpack_development_mode', '__return_true' );

স্থানীয়ভাবে জেটপ্যাক চালাতে ।

একটি ছোট প্লাগইন:

wp-config.phpসাধারণ ট্রিক দিয়ে ফাইলটি সংশোধন করা এড়াতে :

define ('JETPACK_DEV_DEBUG', true);

আপনি এখন এই ক্ষুদ্র প্লাগইনের মাধ্যমে এটি নিয়ন্ত্রণ করতে পারবেন:

<?php
/**
 * Plugin Name: Run JetPack locally
 * Plugin URI:  http://wordpress.stackexchange.com/a/144317/26350
 * Version:     0.0.1
 */
add_filter( 'jetpack_development_mode', '__return_true' );

আপনি এটি গিটহাবে পরীক্ষা করে দেখতে পারেন ।


-1

Http://ravendevelopers.com/node/57 উপর ঠিক করা জেটপ্যাক সংস্করণে 2.x এর উপরে কাজ করে না। যদি এটি সংস্করণ ২.x এ কাজ করে না তবে আপনার লাইভ সাইটে জেটপ্যাক ইনস্টল করার চেষ্টা করুন (উদাহরণ.কম), এটিকে ওয়ার্ডপ্রেস.কমের সাথে সংযুক্ত করুন এবং তারপরে আপনার লাইভ সাইট থেকে সেটিংস আপনার লোকালহোস্ট / উদাহরণে আমদানি করুন যা অবশ্যই হবে একই (উদাহরণ.কম থেকে আমদানিকৃত সেটিংস লোকালহোস্ট / উদাহরণ 2 দিয়ে কাজ করতে পারে না)। আপনার লাইভ সাইটে আপনি যা করছেন তা হ'ল নিশ্চিত করুন যে আমদানিকৃত সেটিংস আপনার লোকালহোস্টের একই সাইটের জন্য রয়েছে।


-2

হুম, আপনার উত্তরটি সরল করা যেতে পারে বলে মনে হচ্ছে। এই পরিবর্তনটি গ্রহণ করুন এবং আমি আপনার উত্তরটি ভোট দেব।

যেহেতু is_active () সত্য প্রত্যাবর্তন করে, আপনার কেবল অ্যাডমিন_পেজে একটি লাইন পরিবর্তন করতে হবে ():

1.মান পরিবর্তন $is_user_connectedকরতেtrue

function admin_page() {
    global $current_user;

    $role = $this->translate_current_user_to_role();
    $is_connected = Jetpack::is_active();
    $user_token = Jetpack_Data::get_access_token($current_user->ID);
    $is_user_connected = true;//$user_token && !is_wp_error($user_token);
    // ...function continues

হাই ম্যাট, আমি বুঝতে পারি যে এটি আমার উত্তরের মন্তব্য। is_activeজেটপ্যাকে দুটি ফাংশন রয়েছে, সে কারণেই সমাধানটি
নিষ্প্রয়োজনীয়

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