 Selamat pagi, semua. Selamat pagi, semua. Saya sebenarnya mempunyai ini di Bahasa Parayu, tetapi saya datang dari Sabah. Jadi, Sabah saya tidak akan tahu. Anda akan mendengar bahasa Parayu. Saya akan tetap di Melayu. Tapi jika anda ada pertanyaan dan anda akan meminta saya di Melayu, apabila anda berada di bahasa Parayu, tolong berhati-hati di luar. Mari kita mulakan. Saya sedikit tentang diri saya. Pada tahun ini, saya sepatutnya akan menjadi tahun 20 tahun yang terakhir untuk pembangunan web di Melayu. Saya sangat gembira bahawa duweb ini sebenarnya adalah pilihan saya yang pertama untuk membuat segalanya selepas anak saya. Duweb adalah yang terbaik. Saya suka duweb kerana saya dapat membangun segalanya. Saya dapat membangun segalanya. Saya dapat mencari segalanya. Saya dapat belajar segalanya. Jadi, ia telah berhati-hati dengan saya selama lama. Maksud saya, sekitar 10 tahun lalu, saya cuba membangun blog saya sendiri dan tidak membangun sebuah pakaian yang lain. Saya membangun pakaian sendiri. Siapa di sini dapat membangun? Ya, sangat bagus. Siapa di sini tidak membangun dengan Php? Saya akan bercakap banyak tentang Php. Saya ada latihan di Node.js, yang adalah javascript di seluruh jalan. Tapi jika anda tanya saya sedikit tentang Python, tetapi tidak tanya saya apa-apa yang akan berlaku. Ada rancangan untuk pakaian di sini akan berlaku dengan pada javascript di seluruh jalan. Saya membangun saya membangun saya membangun, tapi sebenarnya saya akhirnya membangun javascript di seluruh jalan. Jadi, banyak perkara saya meminta tentang javascript, tapi terutamanya saya membangun javascript di seluruh jalan. Saya tidak membangun bahawa pada masa itu javascript akan menjadi salah satu javascript yang paling kuat yang anda boleh menggunakan jika anda ingin membangun javascript di seluruh jalan. Untuk membangun javascript di seluruh jalan, saya juga membangun javascript yang sangat tinggi untuk anda sebagai penyelamat. Tapi jika anda ingin membangun javascript di seluruh jalan, javascript akan menjadi sangat mudah untuk anda membangun. Ini adalah snapshot saya di javascript.org. Jadi, seperti yang anda lihat, saya membangun dua javascript yang saya membangun javascript.org. Saya ingin membangun javascript yang diglupkannya daripada sebuah pasangan di desain javascript. Saya tidak mendapat javascript yang tidak diglupkannya. Jika anda ingin menggukar alasan yang terbaik atau bukan itu atau apa-apa saja, saya ingin menggukar javascript. Jika anda ingin membangun javascript, saya dapat membantu anda. Saya juga untuk melakukan kelebihan yang diper Franco Allergy dalam mintaan dari Inggris untuk BMW. Jadi jika kita menggunakan kelebihan yang diper Franco Allergy untuk membuat web-sites yang sebenarnya menggunakan taxi menjual jadi saya adalah kaya. Saya berharap bahawa esok kamu akan menunggu Saya harap semestinya anda akan menikmati kontributasi hari ini. Walaupun saya tidak akan di sana kerana saya perlu tinggal awal. Tapi tolong menikmati kontributasi hari ini. Kerana salah satu perkara yang kita perlukan untuk membantu, adalah transaksi dari bahasa Inggeris ke sana. Baiklah, banyak perkara ini yang anda sebenarnya boleh belajar dari Google, saya akan sentiasa kembali dan berjalan dengan resursan pembangunan. Lain kali, resursan pembangunan diberikan oleh kodex pembangunan. Orang-orang yang telah diberikan oleh kodex pembangunan sejauh ini, mereka menghubungkannya secara recent. Jadi mereka mempunyai resursan pembangunan dan kemudian mereka mempunyai resursan pembangunan. Jika anda mahu belajar bagaimana untuk dibuat, resursan pembangunan telah memperbaiki banyak. Jadi ada banyak tutorial di sana. Anda boleh mencari video tutorial bagaimana untuk membuat pembangunan pertama anda. Jadi faktor sebenarnya adalah anda hanya perlu dua file. Hari ini anda akan belajar tiga file. Saya akan berkata dengan mudah dan menggunakan tiga file kerana ada satu file yang saya akan menyebabkan selepas itu, yang adalah functions.ehp. Jadi ia mengubah banyak pengguna besar untuk memperbaiki kelebihan anda sebagai pembangunan. Tempat yang mudah yang saya menyebabkan dalam titik saya adalah actually a clickback titik. It's not really simple. To create a theme is not really simple. It's a... In a way it is but after that it takes a lot of your right brain to work. Anyway, going back to this, you will notice that you need only two files which is one php file and one stylesheet file, CSS file. That's all you need. The CSS file, even though practically if you want to build one page WordPress, you can. However, in terms of reading the metadata of the themes like what is the name of this theme, what is the description of this theme, what is the screenshot and all of this, you will need to put it in the styles.css. You need to put all this metadata inside. So you cannot escape from having a separate CSS and php. I mentioned this because if later on you follow another track for progressing web apps and even if you are learning about another web technology called Accelerated Mobile Pages M, you will notice that the standard now is that you need to combine all these JavaScript files, CSS files and whatever HTML files or PHP files that you have there. That was what's recommended by these standards for AMP and a Progressive Web Apps. There are benefits to combining your files. One of it would be if you are a web developer now and you are struggling to learn how to build mobile apps, that would make your transition from a web developer into a mobile app even easier. Who here is struggling? Who is you? Who here is still trying to build your first mobile app and is still struggling? How's the technology? Is it the same the way you build an app versus the way you build a website? It's totally crazy. It's like you learn something different. So if you feel I as a web developer actually felt a bit frustrated and felt like all these 20 years of learning web development and now mobile development is a trend. And how do I learn? Thankfully, with new technologies like Ionic and other hybrid, they call it hybrid app, you can actually now build apps using HTML, CSS and JavaScript. So hopefully, whatever that you learn now is more portable. It cannot run away from mobile development anymore. It's actually, if you look at the market trend for web developer, the demand for web developers in the job market, it's actually going down. Going down. I cannot show you the statistics, but the statistics, I bought it from Google. And that was in 2015. So it's definitely going downward continuously. So hopefully, once you learn how to combine all your PHP files, CSS file and even JavaScript files, you should be able to move over to mobile development soon. You can talk about it later on in the happiness room after this. The examples that I'm going to show would be three files. Of course, the standard and most recommended way of building PHP WordPress themes would be in the modular way. It means you separate your header, you separate your footer, you separate your archives, you separate your single posts and so on and so forth. Why? It's in a way, in the long term, what's told to us is that it's going to be easy for developers to edit, to change. So the conflicts will be less when there are more developers coming in. In the long term. But truthfully, for people like myself as freelancers or solopreneurs who develop websites by ourselves and we don't have any other partners, partner developers, you know your stuff. You build your stuff and to have to manage so many files would be very, very cumbersome and tracking it would be a big bother unless you do a lot of git or do a lot of versioning using subversion or using git. So that would make it easy and if you're already using git, that means the conflict of files if people are working on a single file, different people when they commit to that file and push a new update, the chances of conflict is even less. So why not? Just stick to one file. Make our life easier. And in terms of self-debugging later on in case you develop this kind of themes for your customer and then the customer say and I want to try debugging this myself. Can you teach me how to do that? Why not? Why not? So that so the challenge would be less on telling them oh, to go find the file under this folder and that folder and that file and you see all this long list of PHP files. You don't have to have to have that struggle anymore. Just tell them to go. Oh, you have this one single PHP file called index.php. Open that and scroll to et cetera, et cetera, line up. That's it. So it's easy for you if you want to transfer your knowledge to those teams that you make. The use case here would be the normal that means the kind of websites that we are building would be very suitable for the normal websites like content-based websites, news, blogs. If you're talking about CMS system in terms of making it or transforming it into a web app that would be a different story. You may have to add some more PHP or use a lot more plugins than you're supposed to. I love plugins. I have nothing against plugins. I have nothing against page builders. But clearly when you use more plugins and more page builders, the slower you are website becomes. That's that's a no-brainer. So the use case here is that we want to page maybe just one page where they can go and scroll down when the page would have that normal jambotron that a call to action section. Then followed by some pages, static information and then your posts. And then at the bottom would be your plugin. That's the kind of simple one page material that you want to make as a website. That's very suitable for marketing purposes and for collecting for collecting to promote your products in a one page simple way. So you can reuse this and maybe try and make it look faster. If you want to sell stuff, you want to show them really fast as well. So you need a website that is simple and fast. Hopefully this will work. This is the functions functions.php file that I use for this theme. That's why I use a lot of and that's why I had I had to add one more page. The key here to make your theme simple is first use a lot of CDNs the content delivery network. Take advantage of those. That means if you have JavaScripts and CSS files try not to host it together with your team. Don't put it together. Instead, instead link it to the built-in the built-in strips that WordPress has. You know WordPress has built-in strips. You don't actually for example if you're using jQuery specifically if you're using jQuery. You don't actually have to put the jQuery together in your teams. You know when we create teams we package a lot of things there your images your jes, jes, CSS file. Instead of doing that why not just specify the functions file and then grab those things from the built-in WordPress page the WordPress core or link it to a CDN of your choice. For default scripts that are listed that are done together with WordPress they actually listed this out in the WordPress developer developer resource. So you can actually search for what kind of things or scripts that you can run and you don't have to put it into your team. It's just the problem this would be for example the team that I've built uses Bootstrap. Bootstrap has its own JS file on top of using jQuery files. So how do I insert those things into my team when it's not built-in into WordPress? That's where that's where the functions.php comes in. So you need to define and register that CSS or JS file into the function functions file registering and include it into your team. So this is the code that you use whenever there is a non-existing or not built into JS file in WordPress. You use a register script. And to find what CDN hosts your JS file or CSS file you just google for it. Maybe just find Bootstrap Bootstrap mean CDN and then you it will give you a list. Other things or other CSS files or JS files that you may be concerned with will be forms. If you have to specialise or customize forms you need to use this. You need to put it into your functions file register it before you queue it. You always need to queue it so that it does not conflict with any other plugins that uses the same JS file. It will not load multiple console. Everything best practices put it in your functions application. Do not hard code it into your teams. This is how I do my Bootstrap and my JQuery for Bootstrap because it's not built into a press that therefore I just in case Bootstrap is being used as a name or being defined somewhere I have to be registered in functions file. And it started to my code starts with that is at main tab not is at main because I want to make sure that these CSS and JS file is only loaded for my site and not into administration or your dashboard. Otherwise your dashboard because certain CSS file has its own form it will also override your dashboard once so it looks a bit funny. So make sure to be registered and then re-register it back. What I want to highlight here is the difference between the style and script. You notice that I have two Bootstrap files one is .css and .js with the .js file when I register it you will notice an extra lines over here. Array falls to this is the register script arguments this is how you define it. There are a few arguments here that I use specifically whenever I put .js files specifically the last one the true argument here refers to whether or not I want to put that script in the footer of my website or of my team. Why I use this is due to the page speed. It's recommended that any CSS files that you have you must put it on top in your header in your meta tags before your body of the HTML. CSS only that is the reason why certain sites blow really slowly is because you have both CSS and JavaScript. The JavaScript takes a lot of time to blow. So if you see any themes or plugins take a look at how they call the JavaScript they call it in the header or does it appear at the bottom. That's how one of the that's one of the ways for you to speed up or optimize your website. Make sure your JS files all appear at the bottom. Right before the closing of the bottom. So this is why again it's set as true. And jQuery the bootstrap theme that I use users is dependent on jQuery. So because jQuery is already built into the themes so I don't have to worry about calling any CDN I'm just going to use to build it. Okay, this is this is one thing that you need to be careful of the jQuery because if you rely on JavaScript and then that JavaScript updates itself but your certain plugins or certain themes that you use uses a lower version and all the versions of jQuery that you need to be careful. And that is where again back to functions of PHP you need to define the exact version of your JS code. That you also need to remember. This is a very good page. That's why we cannot run. I prefer not to run away from functions.pages because of this. So that's about it. Demo page that I created there might be some bugs here I have not really debug everything yet but the idea is like this this is based on the theme example in bootstrap form. So I just copy paste it make it change some of the codes inside not an apple person inside or out of view view to search but anyway it's okay. So but this is how it looks like so when you click on the view so when you click on view it actually loads the same page again but then it disturb a single page so what happens here when you look at the themes is that whatever code that you if you're trying to change an existing theme and trying to practice if you download a certain theme and you want to try to make it one page you look at the codes and the pages that comes with it so for example the index page will stick like that and then when you go to the single.php file there are certain parts that you can just copy paste into your existing index.php and then make make an F statement like I did next okay thank you so when you do that you have to make an F statement for that as well so whenever it goes to whenever it calls a single page check for whether it's a single page if it calls for an archive by month or by category then call for this category and so on and so forth it's very simple actually then just do the necessary copy and paste and whatever codes that you want to put in that's how you do a single page another way to make it even better is if you do a I don't know what they call it it's not lazy load but you just use Ajax it's a very cool term Ajax means asynchronous JavaScript something XML what it does is actually asynchronously load your page when you click more button so instead of loading that page again as usual you just use JavaScript or any other framework to load it continuously or if you're using bootstrap and they click on a single page a single post it actually opens a modular like a modular form on top of your listing so there's a lot of ways creative ways that you can do with a single page it's just that it's based on your creativity how far and how willing you are to go further to play around with just that single page the limitations the restrictions that you put on that single page will push you into the newer ways of delivering your content so before I end again the use case here if you're planning on building an e-commerce site it might work it might not but again I always mention it's the your creativity is your limit if you know a way to make an app then using a single page and the potential for a single app would be that if you are ready to go into the trend of headless cms have you heard of headless cms before the concept is I put it briefly you don't have to have your admin page or your dash font you can customize it and just use WordPress APIs and the content the scheme will still be WordPress but the way you call it will be using the API system so that's one of the ways you can play around so that you can build a mobile app version of your website again thank you very much you have any question please terima kasih