2009-06-19 11 views
13

मैं एक सरल कार्रवाई करने के लिए वर्डप्रेस में कस्टम PHP फ़ाइल जोड़ना चाहता हूं।

अब तक मैं अपने विषय में index.php फ़ाइल है:

<a href="myfile.php?size=md">link</a> 

और php

<?php echo "hello world"; ?> 

<?php echo $_GET["size"]; ?> 

<?php echo "hello world"; ?> 

है लिंक, इस पर क्लिक करने प्रदर्शित करता है:

hello world 

वर्डप्रेस ले जा रहा है $_GET फ़ंक्शन पर और मुझे इसका उपयोग करने के लिए कुछ युक्तियां करने की आवश्यकता है? मैं क्या गलत कर रहा हूं?

संपादित:

<?echo "hello world";?> 
<? 
    if (array_key_exists('size', $_GET)) 
    echo $_GET['size']; 
?> 
<?echo "end";?> 

ouputs:

hello world 
+0

क्या आप चर में कुछ भी पारित कर रहे हैं? –

+0

क्या आपने किसी भी त्रुटि के लिए सर्वर लॉग की जांच की है? – balpha

+0

@ian क्षमा करें एचटीएमएल टूट गया था। हां, मैं एक वैरिएबल "आकार" को – marcgg

उत्तर

2

सुनिश्चित नहीं हैं कि अगर यह कुछ भी दिखा लेकिन साथ रिपोर्टिंग त्रुटि को चालू करने की कोशिश करेंगे: किसी अन्य कोड से पहले

<?php 
    error_reporting(E_ALL); 
    ini_set('display_errors', true); 
?> 
अपने पेज के शीर्ष पर

संपादित करें:

ओपी टिप्पणियों से:

मूर्खतापूर्ण सवाल है, लेकिन क्या आप वाकई फाइल करने के लिए अपने नवीनतम परिवर्तनों के परिणाम देख रहे हैं और नहीं एक कैश्ड नकल कर रहे हैं पेज या कुछ का? कुछ और करने के लिए "हैलो वर्ल्ड" बदलें। (तिनके पर लोभी क्षमा करें, लेकिन इस से पहले मुझे क्या हुआ) - Zenshai

ahaha, व्यक्ति कि परिवर्तन कर रहे थे सही फ़ाइल बदल नहीं किया था। अब यह काम कर रहा है - marcgg

सहकर्मी प्रोग्रामिंग असफल ^^ - marcgg

यह एक "या कुछ", आपको बता नहीं सकता मैं कितनी बार है कुछ ऐसा किया होगा। खुशी है कि आप अंत में इसे समझने में सक्षम थे। - Zenshai

मैं आमतौर पर इनमें से केवल तरह त्रुटियों की खोज जब वे सब कुछ मैं एक भाषा या एक वातावरण के बारे में पता अवहेलना करने के लिए शुरू।

+0

यह आपकी सहायता के लिए – marcgg

+0

कुछ भी प्रदर्शित नहीं कर रहा है। क्या एक मूर्ख समस्या है :) – marcgg

1

इस प्रयास करें:

<?echo "hello world";?> 
<? 
    if (array_key_exists('size', $_GET)) 
    echo $_GET['size']; 
?> 
<?echo "end";?> 

यदि आप देखते हैं

hello worldend 

... इसका मतलब है कि आप आकार GET पैरामीटर सेट नहीं कर रहे हैं। कहा गया पृष्ठ तक पहुंचने के लिए आप किस यूआरएल का उपयोग कर रहे हैं?

+0

मुझे "हैलो वर्ल्ड" मिलता है: \ – marcgg

+0

शीर्ष पर और देखें कि क्या आपको कोई सार्थक त्रुटियां मिलती हैं या नहीं। – cdmckay

+0

यह कुछ भी प्रदर्शित नहीं कर रहा है – marcgg

1

वर्डप्रेस $ _GET अधिक नहीं लेता है। क्या आप वाकई चर को सही तरीके से पारित कर रहे हैं? "?"

YOUR_SITE_PATH/?variable_name=variable_value 

कृपया नहीं "/" यूआरएल के अंत में, इससे पहले कि:

आप एक URL में चर हार्डकोड हैं, तो यकीन है कि यह इस रूप का है

मैं अपने index.php कोड नहीं देखते हैं, लेकिन लगता है कि चर "आकार" या तो यूआरएल में या सबमिट किए गए फ़ॉर्म से मैन्युअल रूप से सेट किया गया है सकते हैं। यदि आप किसी फॉर्म का उपयोग करते हैं, तो सुनिश्चित करें कि आप विधि = "GET" का उपयोग करें। यदि आप विधि = "POST" का उपयोग करते हैं, तो आपका चर $ _POST ['size'] में होगा।

उम्मीद है कि इससे मदद मिलती है।

+0

मुझे ऐसा लगता है, पथ है: http://website.com/blog/fontSwitcher.php?size=md। मैंने index.php कोड – marcgg

+0

वेबसाइट.com/blog/fontSwitcher.php/?size=md को अपडेट नहीं किया है – marcgg

0

आप WP क्वेरी ऑब्जेक्ट के बारे में WP के दस्तावेज़ों पर एक नज़र डालना चाहते हैं।

http://codex.wordpress.org/Query_Overview

ऐसा लगता है कि वर्डप्रेस wp_query वस्तु प्रश्नों प्राप्त करने की विधि को get_query_vars का उपयोग करता है लगता है।

आप भी इस एक पर एक नज़र हो सकता है: http://codex.wordpress.org/Custom_Queries

0

हालांकि यह काफी पुराने पोस्ट यह सूचित करना चाहते हैं अच्छा काम का हो सकता है .... वहाँ एक प्लगइन है कि $ _GET की हैंडलिंग को कम कर सकते हैं , $ _POST और वैश्विक चर घोषणा घोषणा बहुत अच्छी तरह से। http://wordpress.org/extend/plugins/wordpress-registry/

0

हो सकता है यह किसी को

अपने htaccess फ़ाइल की जांच करें कर सकते हैं। और रिश्तेदार यूआरएल वाले रीराइट नियम वहाँ

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase <<relative_url>>/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . <<relative_url>>/index.php [L] 
</IfModule> 
# END WordPress 

कृपया बदलने < < relative_url >> है अपने डोमेन

मैं एक ही मुद्दे का सामना करना पड़ा की तुलना में और मेरे वर्डप्रेस एक GoDaddy सर्वर पर स्थापित किया गया था के रूप में। लेकिन .htaccess फ़ाइल को बदलने के बाद समस्या को पुनः प्राप्त किया गया।

12

समाधान देखें:

आदेश जोड़ सकते हैं और अपने स्वयं के कस्टम क्वेरी के साथ काम करने के लिए सक्षम होने के लिए वार्स कि आप यूआरएल को संलग्न, (जैसे: www.site.com/some_page/?my_var=foo - add_query_arg() का उपयोग कर उदाहरण के लिए) आप उन्हें शामिल करने की जरूरत है सार्वजनिक क्वेरी चर WP_Query पर उपलब्ध हैं। इससे पहले कि वे वास्तव में WP_Query की $query_vars संपत्ति को भरने के लिए उपयोग किया जाता है इन का निर्माण कर रहे हैं जब WP_Query को दर्शाता है, लेकिन सौभाग्य से पारित कर रहे हैं एक फिल्टर query_vars के माध्यम से।

अपने मामले के लिए: कोडेक्स पर

$size_var = (get_query_var('size')) ? get_query_var('size') : false; 
if($size_var){ 
    // etc... 
} 

अधिक: http://codex.wordpress.org/Function_Reference/get_query_var

मुझे आशा है कि

function add_query_vars_filter($vars){ 
     $vars[] = "size"; 
     return $vars; 
    } 
    add_filter('query_vars', 'add_query_vars_filter'); 

और अपने टेम्पलेट पृष्ठ पर उस तरह methode प्राप्त कॉल यह मदद करता है !