OK Kode Lengkap:
<?php
//check to see whether the user is an admin or not.
if (is_admin()) {
function wpsc_display_products_seo(){
global $wpdb;
$productList = $wpdb->get_results("SELECT * FROM " . WPSC_TABLE_PRODUCT_LIST . " ORDER BY name ASC");
echo get_admin_page_parent();
$path = 'admin.php?page=wpsc_product_seo_details';
$url = admin_url($path);
?>
<h2><?php _e('Products List','wpsc'); ?></h2>
<p>Below is a list of products. Select a product to edit it's SEO properties.</p>
<table>
<tr>
<td></td>
<td>Product Name</td>
<td>Meta Title</td>
<td>Meta Description</td>
<td>Edit</td>
</tr>
</table>
<table>
<?php if($productList) : ?>
<?php foreach($productList as $product) : ?>
<?php $meta = getProductMeta($product->id); ?>
<tr style="background:#fff;">
<td width="200"><?php echo $product->name; ?></td>
<td width="300"><?php getVal($meta, 'meta_title'); ?></td>
<td width="200"><?php getVal($meta, 'meta_description'); ?></td>
<td width="200"><?php getVal($meta, 'meta_keywords'); ?></td>
<td width="200"><a href="<?php echo $url; ?>">Edit</a></td>
</tr>
<?php endforeach; ?>
<?php endif; ?>
</table>
<?php
}
function wpsc_product_seo_details()
{
echo "<h2>Hello</h2>";
}
function getProductMeta($id)
{
global $wpdb;
$meta = $wpdb->get_results("SELECT * FROM " . WPSC_TABLE_PRODUCT_META . " WHERE product_id = $id");
if($meta)
{
return $meta;
} else {
return null;
}
}
function getVal($RS, $key)
{
if($RS)
{
if (property_exists($RS, $key))
{
return $RS->$key;
}
}
return null;
}
function wpsc_add_seo_admin_pages($page_hooks, $base_page) {
$page_hooks[] = add_submenu_page($base_page, __('SEO For Products','wpsc'), __('SEO For Products','wpsc'), 7, 'wpsc-module-seo', 'wpsc_display_products_seo');
return $page_hooks;
}
add_filter('wpsc_additional_pages', 'wpsc_add_seo_admin_pages',10, 2);
}
?>
POST LAMA
Hai kawan,
Saat ini saya sedang menulis sebuah plugin untuk klien saya di wordpress. Masalah yang saya alami adalah ketika pengguna mengklik edit untuk mengubah catatan saya tidak yakin bagaimana cara membuat tautan admin untuk melakukan ini.
yaitu
<a href="<?php echo get_bloginfo('url'); ?>/wp-admin/admin.php?page=wpsc_product_seo_details">Edit</a>
function wpsc_product_seo_details()
{
echo "<h2>Hello</h2>";
}
Saya tahu markup saya untuk tag mungkin salah, tetapi saya baru saja menguji. Apakah saya perlu mendaftarkan kait untuk melakukan ini.
wpsc_product_seo_details()
? Apakah Anda menambahkannya ke menu Anda?Jawaban:
Saya tidak yakin apa yang Anda coba lakukan.
Tautan admin dapat dengan mudah dibuat dengan
admin_url()
fungsi, seperti ini:Apa yang sebenarnya Anda punya masalah?
sumber
edit_post_link()
mana menghasilkan tautan edit untuk setiap posting.Apakah Anda memiliki masalah dalam membuat halaman administrasi ?
sumber
Hanya beberapa informasi untuk menandai diskusi, dan ini mungkin berguna bagi Anda nanti ..
Ketika Anda berada di halaman plugin, berbagai variabel admin ditetapkan, Anda dapat membangun URL dasar dari variabel-variabel itu dan menghasilkan tautan dari sana, dengan asumsi Anda ingin mereka menunjuk pada halaman plugin saat ini ..
Ingin menambahkan vars permintaan Anda sendiri ke URL itu, cukup tambahkan mereka ke variabel yang dibuat di atas menggunakan
add_query_arg
...Seharusnya secara teori setidaknya bekerja, saya tidak menguji kode, tetapi saya tidak melihat alasan itu tidak akan berhasil .. :)
sumber
$hook_suffix
global. Anda juga dapat melewatkan array asosiatif sebagai argumen pertamaadd_query_arg()
alih-alih menelepon beberapa kali.$my_hook = add_xxxx_page
dalam komentar kode,$my_hook
tidak akan berfungsi sebagai pengganti$plugin_page
karena mereka adalah hal yang berbeda. Kode itu sendiri baik dan berfungsi.$my_hook
menggantikan var itu, karena mereka biasanya memiliki nilai yang sama. Tidak yakin bagaimana mereka berbeda, lihat bagaimana$plugin_page
diisi (wp-admin / admin.php), lalu lihat bagaimana nilai menu dibuat.Terselesaikan!
Cobalah untuk membuat rumit hal-hal ketika syarat sederhana akan melakukan trik dalam fungsi utama yang dipanggil dari halaman.
sumber