Eklentinin kurulum yapılması için kullanılacak olan bir kancadır. SQL tabloları gibi sorgular burada kullanılmalıdır. Slug yazan kısım eklenti adının Slug formatında olacağını gösterir. Örneğin eklentinin dizin adı social_post ise kancanın adı PluginSocialPostInstall olmalıdır. Eklenti dizin adı ileri_tarihli_makale ise PluginIleriTarihliMakaleInstall olmalıdır. Umarım anlaşılır olmuştur :-)
<?php
add_action("PluginExampleInstall", function() {
if(!Capsule::schema()->hasTable('social_post')) {
Capsule::schema()->create('social_post', function ($table) {
$table->increments('id');
$table->text('title');
$table->string('image', 250);
$table->tinyInteger('status')->default(0)->index();
});
}
});
Eklentinin ayarlarının yapılması için kullanılacak olan bir kancadır. Form oluşturma burada kullanılmalıdır. Slug yazan kısım yukarıda Install kancasında açıklaması yapıldığı gibidir. form bileşenini kullanmak için global $form ekinin fonksiyon içinde ilk satıra basılması gerekir. Detaylı eğitim ve kullanım için example eklentimizi inceleyiniz.
<?php
add_action("PluginExampleSettings", function() {
global $form;
$form->set_att('method', 'post');
$form->set_att('enctype', 'multipart/form-data');
$form->set_att('wrap_class', 'form-group');
$form->set_att('add_submit', true);
/**
* @title Kısa URL
* @type radio
* @key tiny_url
* @author TE Bilişim (c) 2019
*/
$form->add_input("Kısa URL", [
"type" => "radio",
"wrap_class" => "col-lg-12 form-group",
"checked" => Plugins::setting("tiny_url", 0),
"options" => [ 1 => "Kullan", 0 => "Kullanma" ],
"note" => "Sosyal medya paylaşımlarında paylaşılan linkin kısa olup olmamasını belirleyebilirsiniz: Örnek: http://tinyurl.com/pubuse8",
], "tiny_url" );
/**
* @title Twitter API Key
* @type text
* @key twitter_apikey
* @author TE Bilişim (c) 2019
*/
$form->add_input("Twitter API Key", [
"class" => ["form-control"],
"wrap_class" => "col-lg-12 form-group",
"value" => Plugins::setting("twitter_apikey"),
"note" => "Twitter'da uygulama oluşturmak için aşağıdaki bu siteyi inceleyebilirsiniz: <a href="http://www.pontikis.net/blog/auto_post_on_twitter_with_php" target="_blank">http://www.pontikis.net/blog/auto_post_on_twitter_with_php</a><br/>Twitter'da oluşturduğunuz uygulamanın API Key kodunu bu alana girmelisiniz",
"attr" => ["style" => "width: 375px"],
"required" => true,
], "twitter_apikey" );
/*
Create the form
*/
$form->build_form();
});
Eklentinin ana sayfası için kullanılacak olan bir kancadır. Veritabanından çekilen veriler (datatable), listeler gibi şeyler burada gösterilmelidir.. Slug yazan kısım yukarıda Install kancasında açıklaması yapıldığı gibidir.
<?php
add_action("PluginExampleMain", function() {
echo <<<HTML
<div class="table-responsive">
<table id="veriTablosu" class="table table-condensed table-striped table-hover">
<thead>
<tr>
<th>ID</th>
<th>Title</th>
<th scope="col" colspan="1">Action</th>
</tr>
</thead>
<tbody id="the-list">
...
</tbody>
</table>
</div>
HTML;
});
Eklentinin yardım tab menüsü için kullanılacak olan bir kancadır. Video eğitim gibi içerikler burada kullanılmalıdır. Slug yazan kısım yukarıda Install kancasında açıklaması yapıldığı gibidir.
<?php
add_action("PluginExampleHelp", function() {
echo <<<HTML
<h3 class="m-b-md">Twitter Application Oluşturma</h3>
<div class="hr-line-dashed"></div>
<iframe src="//player.vimeo.com/video/97971227?title=0&byline=0&portrait=0" width="100%" height="450" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
HTML;
});
Eklentide bilgilendirme bootstrap alert info için kullanılacak olan bir kancadır.
<?php
add_filter("PluginExampleInfo", function() {
return "Mobil uygulamanıza Push Bildirimi göndermek için aşağıdaki form alanlarını olması gerektiği gibi doldurup göndermeniz yeterlidir.";
});
Eklenti içine extra tab menü açmak için kullanılacak olan bir kancadır.
<?php
add_action("PluginExampleTab", function() {
echo "Extra Tab";
});
Eklenti içine extra tab menünün içerik bölümü için kullanılacak olan bir kancadır.
<?php
add_action("PluginExampleTabContent", function() {
echo "Extra Tab Content";
});