WordPress
प्लगइन विकास
खोज…
वाक्य - विन्यास
- add_action (स्ट्रिंग $ टैग, कॉल करने योग्य $ function_to_add, int $ प्राथमिकता = 10, int $ स्वीकार किए गए_कार = 1)
- add_filter (स्ट्रिंग $ टैग, कॉल करने योग्य $ function_to_add, int $ प्राथमिकता = 10, int $ accept_args = 1)
पैरामीटर
पैरामीटर | विस्तार |
---|---|
$ टैग | (string) (आवश्यक) $ function_to_add कॉलबैक को हुक करने के लिए फ़िल्टर का नाम। |
$ function_to_add | (कॉल करने योग्य) (आवश्यक) फ़िल्टर लागू होने पर कॉलबैक चलाया जाना। |
$ प्राथमिकता | (int) (वैकल्पिक) उस आदेश को निर्दिष्ट करने के लिए उपयोग किया जाता है जिसमें किसी विशेष कार्रवाई से जुड़े कार्यों को निष्पादित किया जाता है। कम संख्याएं पहले के निष्पादन के साथ मेल खाती हैं, और उसी प्राथमिकता के साथ कार्यों को उस क्रम में निष्पादित किया जाता है जिसमें उन्हें कार्रवाई में जोड़ा गया था। मूल्य मान: 10 |
$ accepted_args | (int) (वैकल्पिक) फ़ंक्शन की संख्या फ़ंक्शन स्वीकार करता है। संदर्भ मूल्य: 1 |
टिप्पणियों
जिस तरह से प्लगइन हुक काम करता है वह यह है कि वर्डप्रेस चलने के दौरान कई बार, वर्डप्रेस यह देखने के लिए जाँच करता है कि क्या उस समय चलने के लिए किसी भी प्लगइन्स ने पंजीकृत कार्य किए हैं, और यदि ऐसा है, तो फ़ंक्शन चलाए जाते हैं। ये फ़ंक्शन वर्डप्रेस के डिफ़ॉल्ट व्यवहार को संशोधित करते हैं।
हुक दो प्रकार के होते हैं:
फिल्टर आपको वर्डप्रेस के निष्पादन के दौरान डेटा के एक टुकड़े के मूल्य को बदलने की क्षमता देते हैं। फ़िल्टर के लिए कॉलबैक फ़ंक्शन को एक चर के माध्यम से पारित किया जाएगा, संशोधित किया जाएगा, और फिर वापस कर दिया जाएगा। वे एक अलग तरीके से काम करने के लिए होते हैं, और कभी भी वैश्विक चर या फ़ंक्शन के बाहर कुछ भी प्रभावित नहीं करना चाहिए।
इसके विपरीत क्रियाएँ , आपको वर्डप्रेस संचालित करने के तरीके को जोड़ने या बदलने की अनुमति देती हैं। आपका कॉलबैक फ़ंक्शन वर्डप्रेस के निष्पादन में एक विशिष्ट बिंदु पर चलेगा, और कुछ प्रकार के कार्य कर सकता है, जैसे उपयोगकर्ता को आउटपुट गूंजना या डेटाबेस में कुछ डालना।
फ़िल्टर
add_filter('comment_text','before_comment');
add_filter('comment_text','after_comment');
function before_comment($comment_text){
return 'input before comment'.$comment_text;
}
function after_comment($comment_text){
return $comment_text.'input after comment';
}
कार्य
add_action('wp_head','hook_javascript');
function hook_javascript() {
$output="<script> alert('Page is loading...'); </script>";
echo $output;
}
प्लगइन विकास के उदाहरण: पसंदीदा गीत विजेट
<?php
function wpshout_register_widgets() {
register_widget( 'Favorite_Song_Widget');
}
add_action( 'widgets_init', 'wpshout_register_widgets' );
class Favorite_Song_Widget extends WP_Widget {
function Favorite_Song_Widget() {
// Instantiate the parent object
parent::__construct(
'favorite_song_widget', // Base ID
__('Favorite Song', 'text_domain'), // Name
array( 'description' => __( 'Widget for playable favorite song', 'text_domain' ), ) // Args
);
}
function widget( $args, $instance ) {
echo $args['before_widget'];
echo '<h3>Favorite Song Lists:</h3>';
echo $instance['songinfo'];
echo '<a href="' . $instance['link'] . '">Download it</a><br>';
echo $instance['description'];
echo $args['after_widget'];
}
function update($new_abc,$old_abc) {
$instance = $old_abc;
// Fields
$instance['link'] = strip_tags($new_abc['link']);
$instance['songinfo'] = strip_tags($new_abc['songinfo']);
$instance['description'] = strip_tags($new_abc['description']);
return $instance;
}
// Widget form creation
function form($instance) {
$link = '';
$songinfo = '';
$description = '';
// Check values
if( $instance) {
$link = esc_attr($instance['link']);
$songinfo = esc_textarea($instance['songinfo']);
$description = esc_textarea($instance['description']);
} ?>
<p>
<label for="<?php echo $this->get_field_id('link'); ?>"><?php _e('Link', 'wp_widget_plugin'); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id('link'); ?>" name="<?php echo $this->get_field_name('link'); ?>" type="text" value="<?php echo $link; ?>" />
</p>
<p>
<label for="<?php echo $this->get_field_id('songinfo'); ?>"><?php _e('Song Info:', 'wp_widget_plugin'); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id('songinfo'); ?>" name="<?php echo $this->get_field_name('songinfo'); ?>" type="text" value="<?php echo $songinfo; ?>" />
</p>
<p>
<label for="<?php echo $this->get_field_id('description'); ?>"><?php _e('Description:', 'wp_widget_plugin'); ?></label>
<textarea class="widefat" id="<?php echo $this->get_field_id('description'); ?>" name="<?php echo $this->get_field_name('description'); ?>" type="text" value="<?php echo $description; ?>"></textarea>
</p>
<p><a href="#" id="add-more-tabs"><?php _e('Add More Tabs', 'wp_widget_plugin'); ?></a></p>
<?php }
}